Systems, processes and integrated circuits for rate and/or diversity adaptation for packet communications

ABSTRACT

A process ( 111,101 ) of sending packets of real-time information at a sender ( 311 ) includes initially generating packets of real-time information with a source rate (s 11 ) greater than zero kilobits per second, and a time or path or combined time/path diversity rate (d 11 ) initially being at least zero kilobits per second. Sending the packets results in a quality of service QoS, optionally measured at the sender ( 311 ). Rate/diversity adaptation decision may be performed at receiver ( 361 ′) instead. When the QoS is on an unacceptable side of a threshold of acceptability (Th 1 ), the sender increases the diversity rate (d 11  to d 22 ) and sends not only additional ones of the packets of real-time information but also sends diversity packets at the increased diversity rate (d 22 ). Increasing the diversity rate (d 11  to d 22 ) while either reducing or maintaining the overall transmission rate (sij+dij) is an important new improvement.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] The following coassigned patent application(s) and patents arehereby incorporated herein by reference:

[0002] TI-28893P “Integrated Circuits, Systems, Apparatus, Packets andProcesses Utilizing Path Diversity for Media Over Packet Applications,”filed Jul. 9, 1999.

[0003] TI-27834P “System for Dynamic Adaptation of Data/Channel Codingin Wireless Communications” by J. DeMartin, A. McCree, and K.Anandakumar, Ser. No. 60/086,217 filed May 21, 1998.

[0004] TI-21753P “PC Circuits, Systems and Methods” by John L. So, Ser.No. 60/014,734 filed Apr. 2, 1996.

[0005] TI-25535 “Devices, Methods, Systems and Software Products forCoordination of Computer Main Microprocessor and Second MicroprocessorCoupled Thereto” by John L. So, Jeffrey L. Kerr, Steven R. Magee and JunTang, Ser. No. 08/833,267 filed Apr. 4, 1997.

FIELD OF THE INVENTION

[0006] The present invention relates to the fields of integratedcircuits, networking, systems and processes for packet communications,and especially communication of real time information such as voice,audio, images, video and other real time information over packet.

BACKGROUND OF THE INVENTION

[0007] The Internet has long been usable for Internet file transfers ande-mail by packet switched communication. A different technology calledcircuit switched communication is used in the PSTN (public switchedtelephone network) wherein a circuit is dedicated to each phone callregardless of whether the circuit is being communicated over in silentperiods. Packet switched networks do not dedicate a channel, therebysharing a pipe or channel among many communications and their users.Packets may vary in their length, and have a header for sourceinformation, destination information, number of bits in the packet, howmany items, priority information, and security information.

[0008] A packet of data often traverses several nodes as it goes acrossthe network in “hops.” In a stream of data, the packets representativethereof may, and often do, take different paths through the network toget the destination. The packets arrive out of order sometimes. Thepackets are not only merely delayed relative to the source, but alsohave delay jitter. Delay jitter is variability in packet delay, orvariation in timing of packets relative to each other due to bufferingwithin nodes in the same routing path, and differing delays and/ornumbers of hops in different routing paths. Packets may even be actuallylost and never reach their destination. Delay jitter is apacket-to-packet concept for the present purposes, and jitter of bitswithin a given packet is a less emphasized subject herein.

[0009] Voice over Packet (VOP) and Voice over Internet Protocol (VoIP)are sensitive to delay jitter to an extent qualitatively more importantthan for text data files for example. Delay jitter producesinterruptions, clicks, pops, hisses and blurring of the sound and/orimages as perceived by the user, unless the delay jitter problem can beameliorated or obviated. Packets that are not literally lost, but aresubstantially delayed when received, may have to be discarded at thedestination nonetheless because they have lost their usefulness at thereceiving end. Thus, packets that are discarded, as well as those thatare literally lost, are all called “lost packets” herein except where amore specific distinction is made explicit or is plain from the context.

[0010] The user can rarely tolerate as much as half a second (500milliseconds) of delay, and even then may avoid using VOP if its qualityis perceptibly inferior to other readily available and albeit moreexpensive transmission alternatives. Such avoidance may occur withdelays of 250 milliseconds or even less, while Internet phone technologyhitherto may have suffered from end-to-end delays of as much as 600milliseconds or more.

[0011] Hitherto, one approach has stored the arriving packets in abuffer, but if the buffer is too short, packets are lost. If the bufferis too long, it contributes to delay.

[0012] If the network is very congested, and the packet is routed by alarge number of hops, the ratio of lost packets to sent packets in agiven time window interval can rise not just to 5-10% but even to 25% ormore, and the real-time communication becomes degraded. VOP qualityrequires low lost packet ratio measured in a relatively short timewindow interval (length of oral utterance for instance, with each packetrepresenting a compressed few centiseconds of speech). By contrast, textfile reception can reorder packets during a relatively much longerwindow interval of reception of text and readying it for printing,viewing, editing, or other use. Voice can be multiplexed along withother data on a packet network inexpensively over long distances andinternationally, at low expense compared with circuit-switched PSTNcharges.

[0013] A Transport Control Protocol (TCP) sometimes used in connectionwith the IP (Internet Protocol) can provide for packet tags, detectionof lost and out-of-order packets by examination of the packet tags andretransmission of the lost packets from the source. TCP is useful formaintaining transmission quality of e-mail and other non-real-time data.However, the delay inherent in the request-for-retransmission processcurrently may reduce the usefulness of TCP and other ARQ (automaticretransmission request) approaches as a means of enhancing VOPcommunications.

[0014] RTP (Real Time Transport Protocol) and RTCP (RTP ControlProtocol) add time stamps and sequence numbers to the packets,augmenting the operations of the network protocol such as IP. However,these do not provide QoS (Quality of Service) control.

[0015] For real-time communication some solution to the problem ofpacket loss is imperative, and the packet loss problem is exacerbated inheavily-loaded packet networks. Also, even a lightly-loaded packetnetwork with a packet loss ratio of 0.1% perhaps, still requires somemechanism to deal with the circumstances of lost packets.

[0016] A conventional speech compression algorithm has a portion thatsamples, digitizes and buffers speech in a frame buffer in frameintervals (e.g. 20 milliseconds), or frames, and another portion thatcompresses the sampled digitized speech from one of the frames whilemore speech is being added to the buffer. If the speech is sampled at 8kiloHertz, then each 20 millisecond example frame has 160 analog speechsamples (8×20). If an 8-bit analog to digital converter (ADC) is used,then 1280 bits (160×8) result as the digitized form of the sampledspeech in that 20 millisecond frame. Next the compression algorithmconverts the 1280 bits to fewer bits carrying the same or almost thesame speech information. Suppose the algorithm provides 8:1 compression.Then 1280/8 bits, or 160 bits of compressed or coded speech result fromcompression. The compressed speech is then put in the format of apacket, thus called packetized, by a packetizer process.

[0017] For every frame of compressed speech in a packet, loss of thatpacket means loss of each frame in that packet. There then arises theproblem how to create 160 bits or more of lost compressed speech. Oneknown approach simply repeats the most recent previous frame that isavailable at the receiving destination. Another known approach fills theoutput frame with silence (zeroes). Reduction of packet loss and packetloss handling strategy are very important challenges in advancing VOPtechnology.

SUMMARY OF THE INVENTION

[0018] In one form of the invention, a process of sending packets ofreal-time information at a sender includes steps of initially generatingat the sender the packets of real-time information with a source rategreater than zero kilobits per second, and a time or path or combinedtime/path diversity rate, the amount of diversity initially being atleast zero kilobits per second. The process sends the packets, therebyresulting in a quality of service QoS, and optionally obtains at thesender a measure of the QoS. Another step compares the QoS with athreshold of acceptability, and when the QoS is on an unacceptable sideof said threshold increases the diversity rate and sends not onlyadditional ones of the packets of real-time information but also sendsdiversity packets at the diversity rate as increased. Also,rate/diversity adaptation decision may be performed at receiver.

[0019] Increasing the diversity rate while either reducing or keepingunchanged the overall transmission rate is an important new improvementin even solely-time-diversity embodiments.

[0020] Further forms of the invention involve new criteria forinitiating adaptation transitions, and new types of transitionsincluding number of packets-per-second transitions, diversitytransitions, source rate transitions and mixtures thereof.

[0021] In another form of the invention a single-chip integrated circuitincludes a processor circuit, and a source rate/diversity control. Hereagain, the diversity is contemplated to be time diversity, pathdiversity and combined time/path diversity in various embodiments.

[0022] Other forms of the invention encompass other processes, improvedpackets and packet ensembles, integrated circuits, chipsets, computeradd-in cards, information storage articles, systems, computers,gateways, routers, cellular telephone handsets, wireless base stations,appliances, and packet networks, and other forms as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

[0023]FIG. 1 is a state transition diagram for a process embodiment ofadaptive control of combinations called states, of source rate anddiversity rate in a media over packet sending computer;

[0024]FIG. 2 is a diagrammatic representation of packets in differentstates of FIG. 1, wherein time extends horizontally as successivecolumns in FIG. 2, and the different states correspond to different rowsof differently labeled packets in FIG. 2 wherein overall transmissionrate is kept limited to less than or equal to that of an s11 state;

[0025]FIG. 3 is a block diagram of a system embodiment of a sendercomputer, a network cloud, and a receiver computer showing improvementsfor rate/diversity adaptation;

[0026]FIG. 4 is a family of curves of packet loss rate in percent versusnumber of users N, each curve having a different source rate in kilobitsper second;

[0027]FIG. 5 is graph of residual packet loss rate in percent versusspeech activity for two curves in a media-specific redundancy example, afirst curve corresponding to a source rate and no diversity, and asecond curve having a lower source rate and with diversity introduced;

[0028]FIG. 6 is a diagrammatic representation of packets in 5transmission processes, wherein time extends horizontally as successivecolumns in FIG. 6, and the different transmission processes correspondto five different rows of differently labeled packets in FIG. 6;

[0029]FIG. 7 is a family of curves of residual packet loss rate inpercent versus speech activity for four curves in a multiple descriptionexample, two of the curves corresponding to a source rate and nodiversity, and two more curves having a respectively lower source rateand with diversity introduced;

[0030]FIG. 8 is a family of curves in a multiple description example ofresidual packet loss rate in percent versus number of users N, eachcurve having a different source rate in kilobits per second, and two ofthe curves having diversity as well;

[0031]FIG. 9 is a diagram of a RTP packet;

[0032]FIG. 10 is another state transition diagram for a processembodiment with a media-specific redundancy example of adaptive controlof combinations called states, of source rate and diversity in a mediaover packet sending computer;

[0033]FIG. 11 is a diagrammatic representation of packets in differentstates, wherein time extends horizontally as successive columns in FIG.11, and the different states correspond to different rows of differentlylabeled packets in FIG. 11 wherein overall transmission rate is allowedto exceed that of an s11 state;

[0034]FIG. 12 is a block diagram of a simulated network, called a singlebottleneck link simulation having voice sources each described by astate transition diagram inset depicting a two-state Markov voicesource;

[0035]FIG. 13 is a graph of simulated network usage by number of users Nversus time t, which is input to the FIG. 12 bottleneck link simulation;

[0036]FIG. 14 is a graph of overall transmission rate showing variousstates of FIG. 1, versus time, which states are output from the FIG. 12bottleneck link simulation; FIG. 15 is a block diagram of a combinedsending/receiving process, integrated circuit device and systemembodiment with adaptive rate/diversity improvements;

[0037]FIG. 16 is a flow diagram of a process embodiment ofrate/diversity adaptation;

[0038]FIG. 17 is partially pictorial, partially block, diagram ofintegrated circuits and subsystems for gateways, private branch exchange(PBX) units, wireless base stations, and routers in various embodiments;

[0039]FIG. 18 is a block diagram of an improved software system havingthe improved integrated circuit device of FIG. 15 as a digital signalprocessor DSP;

[0040]FIG. 19 is a partially pictorial, partially block, network diagramwith edge devices improved as-described herein, for analysis ofdifferent paths having different selections of improved and unimproveddevices at different sites along each of the different paths;

[0041]FIG. 20 is a diagram of an RTCP packet for QoS-related reportingfrom a receiver computer back to a sender computer;

[0042]FIG. 21 is a timing diagram of time from left-to-right for sendingtwo RTCP packets, packet I and packet I+1, and a time interval for a QoScomputation process;

[0043]FIG. 22 is a state transition diagram for a process embodiment ofadaptive control of combinations called states, of source rate anddiversity in a media over packet sending computer, wherein criteria formaking various transitions indicated by arrows in FIG. 22 are differentfrom the criteria for making various transitions indicated by the arrowsin FIG. 1;

[0044]FIG. 23 is a state transition diagram for a process embodiment ofadaptive control of combinations called states, of source rate anddiversity in a media over packet sending computer, wherein criteria formaking various transitions indicated by arrows in FIG. 23 are differentfrom the criteria for making various transitions indicated by the arrowsin FIG. 1, and suitably supplement the process of FIG. 1;

[0045]FIG. 24 is a flow diagram of a process embodiment ofrate/diversity adaptation for multicasting, conferencing or othermultiple destination services which uses part of the process of FIG. 16;

[0046]FIG. 25 is a flow diagram of further substeps detailing each ofsteps 1621, 1623 and 1629 of FIG. 16;

[0047]FIG. 26 is a flow diagram of further substeps detailing step 1631of FIG. 16;

[0048]FIG. 27 is a block diagram of an embodiment combining adaptivemultipath routing with adaptive rate/diversity processes, in integratedcircuits, devices, computers, systems and networks;

[0049]FIG. 28 is a block diagram of software for implementing anetworking protocol stack useful with the software and system of FIG.18;

[0050]FIG. 29 is a state transition diagram for a process embodiment ofadaptive control of combinations called states, of source rate and firstand second diversity rates in a media over packet computer;

[0051]FIG. 30 is a histogram of frequency of consecutive packet lossesversus number of consecutive packet losses;

[0052]FIG. 31 is a state transition diagram for a process embodiment ofadaptive control of combinations called states, of source rate and firstand second diversity rate controlled according to the histogram of FIG.30 in a media over packet computer;

[0053]FIG. 32 is a diagrammatic representation of packets in threestates of differing numbers of frames per packet combined with a processembodiment of adaptive control of those states in a media-over-packetcomputer; and

[0054]FIG. 33 is a state transition diagram for a process embodiment ofadaptive control of combinations called states, of differing numbers offrames per packet and of source rate and diversity rate, in amedia-over-packet computer.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0055] Various embodiments provide adaptive, robust VoIP/VOP/media overpacket (including real time signals over packet) solutions. They provideapproaches to packet network improvements for incorporation intoVoIP/VOP/media-over-packet IETF, TIPHON, and ITU standards. Packet lossresilience encoding and packet loss handling are improved. Adaptivedelay and delay-jitter handling contribute to efficient playout andcongestion detection. An adaptive delay and/or delay-jitter handlingmechanism is integrated with speech, audio, video and image coders.Constrained rate/diversity adaptation processes and systems embodimentscontrol congestion robustly.

[0056] In packet loss resilience encoding and packet loss handling,sender based diversity embodiments improve G.729 and Texas Instrumentscode excited linear prediction (TI-CELP) codec among other coders. Thefollowing document is hereby incorporated herein by reference for usewhere G.729 is referred to herein: International Telecommunication UnionITU-T G.729 (03/96) Telecommunication Standardization Sector of ITU,General Aspects of Digital Transmission Systems, Coding of Speech at 8kbit/s Using Conjugate-Structure Algebraic-Code-ExcitedLinear-Prediction (CS-ACELP), ITU-T Recommendation G.729.

[0057] For example, information about packet n is sent in packets (n+k:k>O) in a packet sequence:

[P(n−1)′P(n)][P(n)′P(n+1)][P(n+1)′P(n+2)][P(n+2)′P(n+3)]

[0058] Computationally-efficient CELP based important informationredundancy schemes are provided.

[0059] Computationally-efficient multiple description CELP coding isprovided.

[0060] Adaptive delay and adaptive delay-jitter handling advantageouslycompensate delay variation in arriving packets, detect delay-spikes ofdelay value due to congestion, and increase playout delay and sendcongestion notification.

[0061] Adaptive delay and adaptive delay-jitter handling process issuitably integrated with G.729 codec and other codecs.

[0062] Combined adaptation on both source rate sij and packet networkdiversity rate dij, a process called rate/diversity adaptation herein,robustly controls congestion. Some embodiments herein use source rateadaptation alone, with advantageous simplicity and QoS improvementcompared to approaches hitherto. Also, further embodiments use diversityadaptation alone or combined with source rate adaptation with thefollowing advantages for real-time traffic:

[0063] overcome distributed congestion

[0064] handle heterogeneous traffics

[0065] overcome packet losses due to bit errors (as in modem/satellitelinks)

[0066] compensate for packet losses due to processing limitations,late-arrival, etc.

[0067] recognize that during DTX (discontinuous transmission), feedbackis not provided.

[0068] To handle congestion, TCP reduces the number of packetstransmitted and uses retransmission which often introduces unacceptabledelay and delay-jitter for real-time traffic. In rate/diversityadaptation for real-time communication, diversity is advantageouslyintroduced.

[0069] As is described herein, rate/diversity adaptation for robustcongestion control offers features in one or another of the embodiments,such as

[0070] Overall transmission rate is reduced during congestion

[0071] Increases source rate through multiple stages

[0072] Avoids oscillations between states by incremental changes basedon different thresholds or other transition criteria

[0073] Robust adaptation mechanism or process

[0074] Adaptation mechanism takes into account loss, high delay anddelay-jitter

[0075] Combines adaptive delay/delay-jitter handling, for congestiondetection and playout adaptation

[0076] Works with multiple description (MD) packets improved withdiversity processes, devices and systems

[0077] Works with Important Information (I-I) based redundancy packetsimproved with diversity processes, devices and systems

[0078] Improves other redundancy packet networking techniques both withnew temporal diversity and path diversity processes, devices andsystems.

[0079] Important areas of improvement for VoIP/VOP technology involveminimizing delays inside computers and their software, lowering networklatency, and tightening network jitter. One or more of these advantagesare conferred by some of the embodiments described herein.

[0080] By adapting transmission rate and the amount of time or path orcombined time/path diversity in VoIP/VOP applications, robust solutionsadvantageously handle network impairments and congestion, whileutilizing network resources efficiently.

[0081] Improvements in VoIP/VOP processes, integrated circuits andsystems utilizing path diversity are described in the coassigned patentapplication TI-28893 “Integrated Circuits, Systems, Apparatus, Packetsand Processes Utilizing Path Diversity for Media Over PacketApplications,” which is incorporated herein by reference. In onecategory of embodiments, the skilled worker uses the circuits andmethods described in the incorporated material and adds the adaptivefeatures further described herein.

[0082] RTP/UDP/IP protocols do not offer QoS control mechanisms. Hence,VoIP applications, if they were to use RTP/UDP/IP protocols, suffer fromfluctuations in network conditions and poor voice quality can result.One approach for QoS control involves source rate control, with nodiversity, wherein one approach for QoS control is to adapt the sourcerate to the fluctuations in network conditions, per “Reducing bandwidthrequirements,” Micom Whitepaper, 1998; D. Sisalem et al., “Theloss-delay based adjustment algorithm: A TCP-friendly adaptationscheme,” NOSSDAV, (International Workshop on Network and OperatingSystem Support for Digital Audio and Video), July 1998. However, thisapproach may not handle short-term network fluctuations well, and iscomplicated as VoIP/VOP applications often involve multiple links ofheterogeneous characteristics. First, there is a need to locate the“bottleneck” link, and, second, all users of the bottleneck link may notreduce their transmission rate.

[0083] In time diversity, information about packet n is also transmittedin packet n+1 and sometimes in even further packets where packets havingat least some information in common with each other are called dependentpackets.

[0084] Path Diversity sends dependent packets over two or more paths inthe network, thus increasing the probability of recovering theinformation that was coded to produce the dependent packets.

[0085] Combined Time/Path Diversity approach uses both processes of TimeDiversity and Path Diversity in innovative ways.

[0086] “Diversity packet,” where the term is used herein sometimes meansa self-contained packet with its own header and diversity information.However, the term “diversity packet” can also mean diversity bits andextra header bits put in a packet that already has a header and apayload.

[0087] Time diversity schemes provide inter-packet diversity, byincluding information about the nth packet in succeeding packets (n+k:k>=1. They may employ redundancy schemes (media-specific redundancy,forward-error correction FEC) and multiple-description schemes, forinstance.

[0088] In the example sequence of four packets just below, bits P(n)represent primary packets, and P(n)′ and P(n)″ each represent instancesof diversity. This packet sequence has a number of diversity stages(here 3 namely P(n), P(n)′ and P(n)″) and a diversity length of 4.Diversity length is the minimum number of packets in a symbol sequenceneeded to define the diversity used.

P(n)P(n−1)′P(n−3)″ P(n+1) P(n)′P(n−2)″ P(n+2)P(n+1)′P(n−1)″ P(n+3)P(n+2)′P(n)″

[0089] The diversity length is greater than the number of diversitystages because of diversity offset, which is one here. Diversity offsetcorresponds in this case to absence of P(n) or any primed P(n) in thethird packet.

[0090] Redundancy schemes piggyback a version/function (media-specificredundancy/FEC) of nth packet to (n+k)th packet, k>=1, as shownhereinbelow. The following sequences of packets are examples ofmedia-specific redundancy schemes: P0 P1 P0′ P2 P1′ P3 P2′ . . . P0 P1P2 P0′ P3 P1′ P4 P2′ . . . P0 P1 P0′ P2 P1′ P0′ P3 P2′ P1′ P4 P3′ P2′ .. . P0 P1 P0′ P2 P1′ P0″ P3 P2′ P1″ P4 P3′ P2″ . . .

[0091] where Pn denotes nth packet, and Pn′ and Pn″ denote versions ofthe nth packet. “Version” here means a dependent datum in a packethaving at least some information included or encoded therein whichcorresponds to another packet. Thus, the juxtaposition of symbols usedabove signifies concatenation in the description of a given packet, andany possible sequence of concatenation in every packet is contemplated,as well as the order of concatenation literally shown for each packet.

[0092] Multiple-description (MD) schemes break the input stream intomultiple descriptions, for instance, using MD quantizers [V. A.Vaishampayan et al., “Asymptotic analysis of multiple descriptionquantizers,” IEEE Trans. On Inform. Theory, January 1998}. Here none ofthe descriptions have the full information intended for reception, andinstead each of the descriptions has less than that full information,and the descriptions which are received (even if some be lost) then havetheir information combined in the decoder to obtain what information isavailable in them collectively. The following packet sequences symbolizeexamples of embodiments of process and systems P0 P1 P0′ P2 P1′ P3 P2′ .. . P0 P1′ P0′ P2 P1 P3′ P2′ . . . P0 P1 P0′ P2′ P1′ P3′ P2 P4 P3 P5 P4′P6′ P5′ P7′ . . . P0 P1 P2 P0′ P3 P1′ P4 P2′ . . . P0 P1 P0′ P2 P1′ P0″P3 P2′ P1″ P4 P3′ P2″ . . . P0 P0′ P1′ P0″ P1″ P2″ P1 P2 P3 P2′ P3′ P4′P3″ P4″ P5″ P4 P5 P6 . . .

[0093] where Pn, Pn′ and Pn″ denote multiple descriptions of the nthpacket.

[0094] One type of embodiment uses plural types of time diversityconcurrently so that Redundancy is applied concurrently withMultiple-Description.

[0095] Among other advantageous things herein, the present applicationdescribes path diversity processes, integrated circuits and systemswhereby VoIP/VOP software applications open multiple (two or more) flowsbetween the same source and the destination. The packets in each flowtraverse separate paths from packets in other flows (for at least someof the hops between the source and destination). By having multiplepaths, or causing multiple network paths to be accessed, used andtraversed, such path diversity processes, integrated circuits andsystems reduce, as between the diverse flows, the correlation of packetloss, delay, jitter and other less than desirable metrics of performancewhich are ameliorated herein.

[0096] Some examples of combined time/path diversity embodiments for VOPthat confer advantageously efficient bandwidth utilization are describednext.

[0097] 1. Combined time/path diversity. The time diversity isredundancy, multiple description, FEC forward error correction, or othersuitable process. a) Path 1: P0 P1 P0′, . . . Path 2: P0 P1 P0′, . . .b) Path 1: P0 P1 P0′ P2 P1′, . . . Path 2: P0 P1 P0′ P2 P1′, . . .

[0098] (In embodiment 1(b), the packet stream of Path 2 is time-delayedrelative to the packet stream of Path 1.)

[0099] 2. Path switching diversity randomizes bursty packet losseswithout increasing bandwidth utilization. First create multipleconnections/paths (e.g. 2 connections) between the source and thedestination. Then transmit as follows:

VOP packet stream: P0 P1 P2 . . . P(n−1)P(n) P(n+1) P(n+2) . . .

[0100] Path 1: P0 P2 P(2n) Path 2: P1 P3 P(2n + 1)

[0101] Generally speaking, a set of n respective packets are directedinto a corresponding number n of respective diverse network pathswhereupon the process repeats for the next set of n packets, and so on.

[0102] 3. Combined path-switching diversity/redundancy embodimentscombine path-switching diversity and redundancy processes, andadvantageously achieve good voice quality with efficient bandwidthutilization. In a two-path embodiment Path 1: P0 P2 P1′ P4 P3′ . . .Path 2: P1 P0′ P3 P2′ . . .

[0103] In this approach, n respective redundancy packets are directedinto a corresponding number n of respective diverse network pathswhereupon the process repeats for the next set of n packets, and so on.

[0104] 4. Combined path-switching diversity/multiple-descriptionsembodiments combine path-switching diversity and multiple-descriptionprocesses, and advantageously achieve good voice quality with efficientbandwidth utilization. In a two-path embodiment Path 1: P0 P2 P1′ P4 P3′. . . Path 2: P1 P0′ P3 P2′ . . .

[0105] In this approach, n respective multiple-descriptions packets aredirected into a corresponding number n of respective diverse networkpaths whereupon the process repeats for the next set of n packets, andso on.

[0106] 5. In an embodiment of incorporated coassigned patent applicationTI-28893P, the original voice packet stream (P0 P1 P2) is sent in itsentirety, on path 1 and on path 2. Path 1: P0 P1 P2 P3 P4 . . . Path 2:P0 P1 P2 P3 P4 . . .

[0107] The following Performance Table summarizes performance for atwo-path system of the above four embodiments. The symbols R, H and R′refer to source bit rate, header bit rate, and redundancy bit rate,respectively. Concealment processes such as interpolation are suitablyused to recover missing parts of a media stream. In G.729, a frameerasure concealment method specified in G.729 spec is suitably used whenthe path diversity feature herein is not being used. PERFORMANCE TABLEEMBODIMENT BANDWIDTH QUALITY 1(a), 1(b) 2(R + H + R′) Full quality whenany of the paths is good. Acceptable quality when even both paths arebad. 2 (R + H) Packet-loss concealment, when any of the paths is bad. 3(R + H + R′) Full quality, when both paths are good. Acceptable quality,when any of the paths is good. Packet-loss concealment, when both pathsare bad. 4 (R + H + R′) Full quality, when both paths are good.Acceptable quality when any of the paths is good. Packet-lossconcealment, when both paths are bad. 5 2(R + H) Full quality, when bothpaths are good. Packet- loss concealment, when both paths are bad.

[0108] In a similar manner, the skilled worker analyzes variousembodiments and selects for implementation whichever one(s) are mostsuitable for the particular needs at hand.

[0109] Media-specific redundancy schemes piggy-back a version of nthpacket to (n+k)th packet. In VoIP/VOP heretofore a separate encodingscheme generated the redundancy version of the nth packet, orpiggybacked the entire nth packet to the (n+k)th packet. Hereincomputationally-efficient CELP (code-excited linear prediction) baseddiversity embodiments for VoIP/VOP are described, such as for generatingmedia-specific redundancy information. These are herein called“Important Information” based diversity embodiments. Some ImportantInformation based diversity embodiments use base information, orImportant Information, from CELP encoding as redundancy information, toachieve diversity. Below, two embodiments are described in more detailfor G.729. These embodiments are given for two stages (primary stageplus one secondary stage), with no diversity offset. Embodiments includeextensions based on more than two stages, and diversity offsets.

[0110] Embodiment 1: With no pulses in secondary stage. Using G.729, thesecondary stage (redundancy stage) has these Important Parameters—LPC(Linear Predictive Coding) parameters, LTP (Longterm Prediction) lags,parity check, and adaptive and fixed codebook gains—according to thesequence

P(n)P(n−1)′ P(n+1)P(n)′ P(n+2)P(n+1)′ P(n+3)P(n+2)′

[0111] 1A. Reconstruction with single packet loss is shown in the nextsequence below. The LPC parameters, LTP lags, parity check, and adaptiveand fixed codebook gains are obtained from the secondary stage. Theexcitation reconstruction mechanism is suitably made to be thereplacement excitation generation scheme described in the G.729 standardsection 4.4.4 with the following modification. For lost-framesconsidered as nonperiodic, the adaptive codebook contribution is set tozero only if the absolute value of the adaptive codebook gain (obtainedfrom the secondary stage) is less than 0.4, otherwise the adaptivecodebook contribution is reconstructed from the adaptive codebook gainand LTP lag obtained from the secondary stage. P(n)P(n − 1)′ [LostPacket] P(n + 2)P(n + 1)′ P(n + 3)P(n + 2)′ P(n) [P(n + 1)′| −] P(n + 2)P(n + 3) (excitation)

[0112] (where “excitation” shown above refers to reconstruction of thedashed part of the packet symbols)

[0113] 1B. Reconstruction with two or more consecutive packet losses isshown in the next sequence below. Now the packet (n+2) is reconstructedas described in the paragraph 1A just above. The packet (n+1) isreconstructed by the G.729 frame erasure concealment scheme specified inthe G.729 standard section 4.4, used for packet loss concealment. Thesteps of section 4.4 are repetition of synthesis filter parameters(4.4.1) attenuation of adaptive and fixed-codebook gains (4.4.2),attenuation of the memory of the gain predictor (4.4.3), and generationof the replacement excitation (4.4.4). P(n)P(n − 1)′ [Lost Packet] [LostPacket] P(n + 3)P(n + 2)′ P(n) [−] [P(n + 2)′|−] (excitation) P(n + 3)

[0114] Embodiment 2: With pulses in secondary stage. Using G.729, thesecondary stage (redundancy stage) has LPC parameters, LTP lags, paritycheck, and adaptive and fixed codebook gains, and first few or all fixedcodebook pulses.

[0115] 2A. In reconstruction with single packet loss, the LPCparameters, LTP lags, adaptive and fixed codebook gains, and theincluded pulses are obtained from the secondary stage. The remainingfixed codebook pulses are set to zero.

[0116] 2B. Reconstruction with two or more consecutive packet lossesreconstructs the packet (n+2) as described in the paragraph 2A justabove. The packet (n+1) is reconstructed by the G.729 frame erasureconcealment scheme specified in the G.729 standard section 4.4, used forpacket loss concealment, when there is no diversity.

[0117] Multiple-description data partitioning based diversityembodiments are described next.

[0118] It is believed that heretofore there has been no CELP-basedmultiple description process. Herein are describedcomputationally-efficient, CELP-based multiple description embodimentsusing multiple-description data partitioning. Parentheses are used inthe next few sentences to point out certain significant combinations ofinformation.

[0119] These embodiments send (the base or important information + asubset of fixed excitation) in one packet and (the base or importantinformation + the complementary subset of fixed excitation) in anotherpacket. Below, two embodiments are described in more detail for G.729.These embodiments are given for two stages, with no diversity offset.Embodiments include extensions based on more than two stages and,diversity offsets.

[0120] DEFINITION: Multiple description data partitioning: In thisapproach, (the base information + a subset of enhancement information)is sent in one packet, and (the base information + the complementarysubset of enhancement information) is sent in another packet. Here, whenonly one of the packets is received at the receiver, to produceacceptable quality that packet is reconstructed. When both packets arereceived at the receiver, they both are combined to produce betterquality.

[0121] Embodiment 3: with no pulses in the base or importantinformation. Using G.729, the first stage has LPC parameters, LTP lags,parity check, adaptive and fixed codebook gains, and every other fixedcodebook pulses. The second stage has LPC parameters, LTP lags, paritycheck, adaptive and fixed codebook gains, and the remaining fixedcodebook pulses. See sequence below:

P(n)P(n−1)′ P(n+1)P(n)′ P(n+2)P(n+1)′ P(n+3)P(n+2)′

[0122] 3A. In reconstruction with single packet loss, for packet n andpacket (n+1), only one stage is used for reconstruction, and theremaining fixed codebook pulses are set to zero (note that these pulsesinclude the fixed codebook pulses from the lost diversity stage). Seereconstruction below: Received: P(n)P(n − 1)′ [Lost Packet] P(n +2)P(n + 1)′ P(n + 3)P(n + 2)′ Reconstructed: [P(n)|−](excitation) [P(n +1)′|−](excitation) P(n + 2) + P(n + 2)′ P(n + 3) + P(n + 3)′

[0123] (The plus (+) sign refers to combination of information forreconstruction).

[0124] 3B. Reconstruction with two or more consecutive packet lossesreconstructs the packet n and the packet (n+2) as described in theparagraph 3A just above. The packet (n+1) is reconstructed by the G.729frame erasure concealment scheme specified in the G.729 standard section4.4, used for packet loss concealment. See reconstruction below: P(n)P(n− 1)′ [Lost Packet] [Lost Packet] P(n + 3)P(n + 2)′ [P(n)|−] [----][P(n + 2)′|−] P(n + 3) + P(n + 3)′ (excitation)

[0125] Embodiment 4: with pulses in the base or important information.Using G.729, the first stage has LPC parameters, LTP lags, parity check,adaptive and fixed codebook gains, first few fixed codebook pulses, andevery other fixed codebook pulses from the remaining pulses. The secondstage has LPC parameters, LTP lags, parity check, adaptive and fixedcodebook gains, the same first few fixed codebook pulses, and thecomplementary subset of pulses from the remaining fixed codebook pulses.See sequence below:

P(n)P(n−1)′ P(n+1)P(n)′ P(n+2)P(n+1)′ P(n+3)P(n+2)′

[0126] 4A. In reconstruction with single packet loss, for packet n andpacket (n+1), only one stage is used for reconstruction, and theremaining fixed codebook pulses are set to zero. See reconstructionbelow: P(n)P(n − 1)′ [Lost Packet] P(n + 2)P(n + 1)′ P(n + 3)P(n + 2)′[P(n)|−](excitation) [P(n + 1)′|−](excitation) P(n + 2) + P(n + 2)′P(n + 3) + P(n + 3)′

[0127] 4B. Reconstruction with two or more consecutive packet lossesreconstructs the packet n and the packet (n+2) as described in theparagraph 4A just above. The packet (n+1) is reconstructed by the G.729frame erasure concealment scheme specified in the G.729 standard section4.4, used for packet loss concealment. See reconstruction below: P(n)P(n− 1)′ [Lost Packet] [Lost Packet] P(n + 3)P(n + 2)′ [P(n)|−] [—] [P(n +2)′|−] P(n + 3) + P(n + 3)′ (excitation)

Extensions

[0128] Further embodiments are contemplated with

[0129] diversity offset,

[0130] multiple stages, and

[0131] multiple stages and diversity offsets.

[0132] Regarding performance and delay due to diversity: If the packetdelay variation is larger than the packet interval/size, the system maychoose not to introduce additional delay while making use of diversityin a limited manner.

[0133] Some other embodiments augment the MD (multiple description)approach as follows. For fixed codebook search, minimize [error(fullrate)+w1error(Description 1)+w2 error(Description 2)] instead ofminimizing error(full rate) alone. (The letters “w1” and “w2” symbolizeweight coefficients. Description 1 and Description 2 symbolize twodescriptions). In addition an interpolation filter is used forshaping/filling of excitation. Also, MD quantizers are used for LPCparameters, LTP lags, fixed codebook gain and adaptive codebook gain.

[0134] Some Important Information embodiments apply FEC to importantinformation.

[0135] Still other embodiments combine interleaving and diversity.

[0136] Some diversity based embodiments add interpolation of parametersin addition to fixed excitation repeating, from available (past/future)frames.

Adaptive Rate/diversity Processes

[0137] In a type of constrained adaptive rate/diversity processes,integrated circuits and systems herein, these adapt source rate and theamount of time or path or time/path diversity, in accordance withnetwork fluctuations based on some QoS level measure (e.g., overallpacket loss rate due to packet loss, delay, delay-jitter, etc., butbefore the application or compensation with diversity). Note that QoS isan inverse function of packet loss rate—in other words, QoS goes up aspacket loss rate goes down. Thus, being higher than a threshold of QoSmeans being less than a corresponding threshold of packet loss rate. Putyet another way, QoS is a positive quantity and packet loss rate can bethought of as a negative quantity.

[0138] Further details of some adaptation process embodiments are asfollows:

[0139] A. When QoS level measure is lower than a given QoS threshold(e.g., overall packet loss rate before the application of diversityexceeds (>) Threshold1), increase/introduce diversity while decreasingoverall transmission rate or keeping overall transmission ratesubstantially unchanged.

[0140] B. When QoS level measure is higher than another QoS thresholdrepresenting higher quality of service than the given QoS threshold ofparagraph A (e.g., overall packet-loss rate before the application ofdiversity is less than (<) Threshold2 where Threshold2 is less than orequal (<=) Threshold1), increase source rate (the bit rate for packetstream Pn). Note that Threshold1 Th1 and Threshold2 Th2 are values ofthe packet loss rate metric, inversely related to QoS and thresholds ofQoS. The method for determining new steady-state source rate depends onavailable network resources according to any suitable table, algorithmor method selected by the skilled worker, see examples herein. Theprocess of increasing source rate is achieved through one or more stagesor steps. Two different steps which can either be used alone, orconsecutively, or concurrently, are

[0141] 1. When increasing the overall transmission rate, maintaindiversity.

[0142] 2. When reducing the amount of diversity, do not increase theoverall transmission rate.

[0143] Note that source rate (sij) is different from “overalltransmission rate.” Overall transmission rate for purposes hereindenotes the sum sij+dij in a given state. Roughly speaking, overalltransmission rate is the sum of the packet P0 rate plus packet P0′ rateplus rates for any other diversity packet for P0-primed.

[0144] By the use of diversity, some process embodiments handleshort-term network fluctuations well, cope with VoIP/VOP applicationsthat involve multiple links of heterogeneous characteristics, and areTCP-traffic friendly. This is because the overall transmission rate isdecreased, or at least not increased, on the network in the event of lowQoS level, thereby not burdening the network increasingly, as theseprocess embodiments work to ameliorate the QoS. In this way such processembodiments improve QoS for users and are network friendly in that suchprocess embodiments could be implemented at one node, some nodes, or allnodes without further congesting the network while improving QoS.

[0145] In one example, packet loss rate Threshold1 is selected to bethree percent (3%), and packet-loss rate Threshold 2 is selected to beone-half percent (0.5%). Packet size is forty (40) milliseconds,corresponding to an overhead (header rate) of 320 bits/40msec =8kbps forVoIP. RTCP Transmission Interval is set to five (5) seconds, and thefraction lost (or packet-loss rate) is computed during last five (5)seconds in a latter part of the RTCP Transmission Interval. (Use of RTPand RTCP is described further later hereinbelow.) Source rate selectionss11, s12, s21, s22, s31, s32 are established at 16.0, 11.2, 11.2, 8.0,8.0 and 5.7 kilobits/sec respectively. Diversity selections d11, d12,d21, d22, d31, d32 are established at 0.0, 4.8, 0.0, 3.2, 0.0 and 2.3kilobits/sec respectively. All the foregoing values are, of course,offered illustratively and not in any limiting sense.

[0146] QoS level measure computation is temporally localized at thesuggested 5 seconds in order to avoid smoothing of network effects. Theexample adaptation mechanism uses a high threshold (Threshold1) when QoSlevel decreases, and uses a low threshold (Threshold2) when QoS levelimproves. This approach advantageously addresses a scenario of possibleoscillation between rate/diversity states, but where this scenario isnot applicable or is addressed by other means such as delay processes orotherwise, then some embodiments can also use equal thresholds or anychoice of thresholds that confers satisfactory adaptation.

[0147] Some adaptation embodiments take into account packet loss, highdelay, and delay-jitter, such as in the QoS level measure process. Inone type of process embodiment, overall packet-loss rate due to loss,delay and delay-jitter (and before the application of diversity) is usedas QoS level measure.

[0148] Two specific embodiments or realizations of a rate/diversityadaptation process or method are diagrammed in the state transitiondiagrams of FIGS. 1 and 2. Note that these are not an exhaustive set ofembodiments or realizations. If a connection is bad, one type ofembodiment reduces the source rate and adds diversity while taking theoverall transmission rate, or network burden, into account.

[0149] A state transition diagram is well understood by the skilledworker, and generally speaking, the arrows are transitions which occurupon the existence of a condition noted near its respective arrow. Thus,in FIG. 1, the arrows join small circles representative of a state ofone sending computer connected to a packet network. More particular thestate is the state of a source rate and diversity control block (331 ofFIG. 3 discussed later hereinbelow), which thereby controls the state ofa speech encoder (321 of FIG. 3), audio encoder or other media sourceencoder or compressor.

[0150]FIG. 1 illustrates a state transition diagram for a processembodiment where a new steady-state source rate is designated s11. InFIG. 1, overall packet loss rate F exceeds (>) Threshold1 before theapplication of diversity. (Where the phrase “packet loss rate” is usedherein, it is to be understood interchangeably with packet loss fractionor packet loss ratio which are similar concepts.) When Threshold1 isexceeded by packet loss rate F, a transition 101 occurs from the state(s11,d11) to state (s22,d22). When a gatekeeper request GK or Bufferoccupancy full signal occurs, a transition 102 occurs from the state(s11,d11) to state (s21,d21). Gatekeeper and/or router boxes in thenetwork may signal requests as just mentioned, and these are included inthe state transition diagram for context and completeness ofdescription.

[0151] Note that dotted ovals 111, 113, 115, etc. diagrammaticallysurround and thus indicate states that have the same sum of s and dcomponents, and thus indicate essentially the same “overall transmissionrate” (i.e., same network burden or load). From left to right in each ofFIGS. 1, 10, 22, 23, 29 and 31, the ovals indicate progressively reducedoverall transmission rate, or sum of s and d components.

[0152] In FIGS. 1 and 2, an optional constraint in one class ofembodiments introduces a specification: do not increase overalltransmission rate. Also,

Overall transmission rates: . . . (s 11+d 11)=(s 12+d 12)>(s 21+d 21)=(s22+d 22)>(s 31+d 31)=(s 32+d 32) . . .

[0153] where (d11<d12), (d21<d22) and (d31<d32).

[0154] sij denotes the rate for Pn, and dij denotes the rate for Pn′.

[0155] In FIG. 2 the bit length of each sij or dij part of a packet isproportional to the source rate and diversity rate when the transmissionof packets themselves is at a constant rate of issuing packets from thesender.

[0156] In FIG. 2 the source rate of a packet stream 205 is a givenamount s11. When QoS falls, the control block 331 of FIG. 3 utilizes aprocess wherein it reduces source rate to an amount s22 and introduces asmall diversity rate of d22 as shown in packet stream 215. Originaloverall transmission rate s11+0 =s11 of packet stream 205 exceedsoverall transmission rate s22+d22 of packet stream 215 resulting fromrate/diversity adaptation. The overall transmission rate of packetstream 215 has been lowered or reduced from that of packet stream 205.

[0157] Further in FIG. 2 an alternative process goes from source rates11 of packet stream 205 to a packet stream 225. Packet stream 225 hasan overall transmission rate comprised of a source rate s22 anddiversity rate d22 that sum to an amount substantially equal to originalrate s11.

[0158] Transitions like transition 101 from left to right in FIGS. 1 and10 indicate that the process has encountered a QoS degradation wherepacket loss rate is exceeding Threshold1, and thus has becomeunacceptable. In response the process is ameliorating the QoS, bylowering the source rate and adding diversity until the QoS improvesenough that the packet loss rate has gotten below Threshold2 Th2.Lowering source rate means that the original information is being codedwith more compression and perhaps more lossiness of compression, butthis compression loss is almost insignificant compared to theuser-perceived degradation that packet loss causes.

[0159] Conversely, transitions like 103 and 105 from right to left inFIG. 1 indicate that the process is increasing its use of the network ata time when QoS has improved sufficiently to permit such increased use.Such increased use takes the forms of increasing the source rate andreducing and/or terminating path diversity, time diversity or combinedtime/path diversity.

[0160]FIG. 10 illustrates a state transition diagram for a process wherea new steady-state source rate is designated s21. In FIG. 10 the processsuitably is arranged to make transition 1005 inside oval 113 when QoShas improved to the extent that packet-loss rate F has fallen belowThreshold 2. This FIG. 10 example shows that embodiments are alsosuitably arranged to stay in a lower state (s21, d21). Here, as in FIG.1, operations move from a higher source rate s11 to a lower source rates22 if QoS degrades (transition 101).

[0161] Thresholds can be varying as well, such as depending on thesource rate used. Thus, in FIG. 10, a further transition 1007 occurswhen criterion F exceeds a threshold Th3. In one example, transition 101occurs when loss fraction exceeds 3% and transition 1007 occurs whenloss fraction exceeds 4%.

[0162] Further details of some more adaptation process embodiments areas follows:

[0163] 1. Adapt both the source rate sij and the amount of diversitydij, in accordance with network fluctuations based on some QoS levelmeasure (see examples in FIGS. 2 and 11).

[0164] a) When QoS level measure is lower than a given QoS threshold(e.g., overall packet loss rate before the application of diversityexceeds (>) Threshold1), add diversity while decreasing the source rateor keeping the source rate unchanged. (i.e., source rate sij hereinstead of overall transmission rate sij+dij in some embodiments)

[0165] b) When QoS level measure is higher than another QoS thresholdrepresenting higher quality of service than the given QoS threshold ofparagraph (a) (e.g., overall packet-loss rate before the application ofdiversity is less than (<) Threshold2 where Threshold2 is less than orequal (<=) Threshold1), increase source rate. Note that Threshold1 Th1and Threshold2 Th2 are values of the packet loss rate metric, inverselyrelated to QoS and thresholds of QoS. The method for determining newsteady-state source rate depends on available network resourcesaccording to any suitable table, algorithm or method selected by theskilled worker, see examples herein. The process of increasing sourcerate is achieved through one or more stages to reduce or preventoscillatory behavior.

[0166] 2. Special case: Adapt both the source rate and the amount ofdiversity, in accordance with network fluctuations based on some QoSlevel measure and constrain their sum so that overall transmission rateis reduced or unchanged (see FIG. 2).

[0167] a) When QoS level measure is lower than a given QoS threshold(e.g., overall packet loss rate, packet loss rate before compensating bydiversity, exceeds (>) Threshold1), add diversity while decreasing theoverall transmission rate or keeping the overall transmission rateunchanged.

[0168] b) When QoS level measure is higher than another QoS thresholdrepresenting higher quality of service than the given QoS threshold ofparagraph (a) (e.g., overall packet-loss rate, packet loss rate beforecompensating by diversity, is less than (<) Threshold2 where Threshold2is less than or equal (<=) Threshold1), increase source rate. Note thatThreshold1 Th1 and Threshold2 Th2 are values of the packet loss ratemetric, inversely related to QoS and thresholds of QoS. The method fordetermining new steady-state source rate depends on available networkresources according to any suitable table, algorithm or method selectedby the skilled worker, see examples herein. The process of increasingsource rate is achieved through one or more stages.

[0169] 3. As noted in 1 and 2, the process of increasing source rate isachieved through one or more stages. Two different steps which caneither be used alone, or consecutively, or concurrently, are a) whenincreasing the overall transmission rate, maintain some diversity, andb) when reducing the amount of diversity, do not increase the overalltransmission rate. Note that (a) and (b) can be realized using variouscombinations of source rate and diversity.

[0170] 4. The approaches are applied to a) time diversity embodiments(media-specific redundancy, important information diversity, FEC,multiple description, multiple description data partitioning), b) pathdiversity embodiments, and c) combined time diversity and path diversityembodiments.

[0171] 5. QoS level measure computations and Adaptation Logics.

[0172] 5A. Delay-jitter handling via fixed-delay threshold embodimentdeclares a packet as lost, if the end to end delay of the packet isgreater than a fixed threshold. Overall packet loss rate due to loss,delay, and delay-jitter (but before the application of diversity) isused as a QoS level measure. Thus, in FIG. 1, transitions 101 and 103,105 occur on thresholds as shown compared to a value F which is overallpacket-loss rate in this 5A embodiment. Preferably but not necessarily,the overall transmission rate sij+dij is not increased on thetransitions 101.

[0173] 5B. Delay-jitter handling via adaptive packet playout embodimentperforms delay-jitter handling using an improvement over S. B. Moon etal . . . , “Packet audio playout delay adjustment: Performance boundsand algorithms,” ACM/Springer multimedia systems, January 1998. In thisimprovement, overall packet loss rate due to loss, delay, anddelay-jitter (but before the application of diversity) is used as a QoSlevel measure.

[0174] Transition 101 of FIG. 1 in this 5B embodiment occurs on thecriterion

(mode=SPIKE) OR (mode=NORMAL AND Overall packet-loss rate>Th1)

[0175] Transitions 103 and 105 respectively occur on a criterion(mode=NORMAL AND Overall packet-loss rate <Th2). Preferably but notnecessarily, the overall transmission rate sij+dij is not increased onthe transitions 101.

[0176] Here, the rate/diversity control 331 (or alternatively receiver361′) detects whether network 351 is subject to spike-type delayincrease and/or packet losses (SPIKE) even when the packet-loss rate hasnot yet exceeded the tolerable threshold Th1, or whether a more smoothlyvarying type of delay change/packet loss behavior (NORMAL) is occurring.This information is stored as a datum called “mode” for purposes of thisembodiment 5B and used for adaptation. When SPIKE mode is occurring, theembodiment is relatively aggressive, being quick to initiateQoS-enhancing measures, and slow to end them.

[0177] One formula recognizes a SPIKE event when magnitude of delaydifference of consecutive packets exceeds twice a variance measure +800sampling intervals, compare the Moon et al. paper incorporatedhereinabove at p. 21, Algorithm 2, line 2.

[0178] This 5B embodiment herein, however, not only recognizes a SPIKEevent but also utilizes it for new purposes, processes and structures,to initiate a SPIKE mode to control a state machine of source rate anddiversity amount. The SPIKE mode herein recognizes that packets arrivewith an average delay based on the time of arrival minus the senderpacket time stamp. Also, the packets have an average jitter magnitude,or measure of variance, in the varying delay values comparing packet topacket. The idea behind SPIKE mode herein recognizes an importantcontrol function for rate/diversity adaptation purposes when themagnitude of delay difference between consecutive packets exceeds somemultiple of the measure of variance plus a constant. The multiplejust-mentioned, reflects the idea that an onset of a significant delaydifference in the incoming packets should be quite substantial comparedto the usual amount of variation in delay in the packet stream. Theconstant reflects the idea that even if the measure of variance wereequal to zero for a packet stream for a while, the onset of some delaydifference would not be important if it were below the amount of theconstant. It should be clear that various formulas and logicimplementations can implement these ideas. One process embodimentdetermines when delay difference of consecutive packets |D(I,I−1)|>2J+800 to initiate the spike mode. Another process embodiment determineswhen delay difference

|D(I,I−1)|>mJ+c

[0179] to initiate the spike mode, where m is a numerical value of amultiplier selected in the range 1.5 to 4 for example, and the constantis equal to average measured delay based on timestamps for a lastpredetermined number (e.g. 25) of speech packets.

[0180] Another process embodiment uses a logic test to test whether thedelay difference [|D(I,I−1)I>m,J] OR [|D(I,I−1)|>c1]. m1 is selected inthe same range as numerical value m above. Constant c1 is suitably madesubstantially equal to constant c above.

[0181] Still another process embodiment uses any of the foregoing testsbut with an average of delay difference magnitudes to smooth out theprocess somewhat, wherein

[|D(I+1, I)|+|D(I,I−1)|]/2>mJ+c or alternatively a test

[[|D(I+1,I)|+|D(I,I−1)|]/2>mJ] OR [[|D(I+1,I)|+|D(I,I−1)|]/2c].

[0182] Once the SPIKE mode has been initiated, then any one of varioustests for returning to NORMAL mode is implemented. One embodimentrepeatedly computes a measure of variance and waits until the measure ofvariance falls below a predetermined amount, whereupon the NORMAL modeis initiated. Still another approach utilizes the calculations of theMoon paper not only for playout delay, but also to derive controls forSPIKE mode and NORMAL mode in a manner that tracks the calculations ofSPIKE and NORMAL conditions for playout delay as described in Moon etal.

[0183] 5CA. A first (herein type 5C embodiment, subtype A) adaptationembodiment with parameters specified in RTCP uses both Fraction Lost andinterarrival jitter field as QoS level measures having their respectivethresholds.

[0184] Transitions 101 of FIG. 1 in this 5C embodiment respectivelyoccur on the criterion

(Fraction Lost >Th1) OR (Interarrival Jitter J>Th2)

[0185] Transitions 103 and 105 respectively occur on a criterion(Fraction Lost<Th3) AND (Interarrival Jitter J<Th4)

[0186] Note in this 5CA embodiment that QoS enhancing measures areinitiated on either an unacceptable level of Fraction Lost or of JitterJ. However, the QoS enhancing measures are relaxed on the occurrence ofBOTH Fraction Lost and Jitter J becoming acceptable. Fraction Lost lowerthreshold Th3 is made less than or equal to Fraction Lost higherthreshold Th1. Providing some gap between Th3 and Th1 may help preventoscillations in QoS in some network environments. Similarly, Jitterlower threshold Th4 is made less than or equal to Jitter higherthreshold Th2.

[0187] Preferably but not necessarily, the overall transmission ratesij+dij is not increased on the transitions 101.

[0188] 5CB. As illustrated in FIG. 22, a second (herein type 5Cembodiment, subtype B) adaptation embodiment with parameters specifiedin RTCP uses both Fraction Lost and interarrival jitter field as QoSlevel measures having their respective thresholds.

[0189] Transitions 101 of FIG. 1 in this 5C embodiment respectivelyoccur on the criterion

(Fraction Lost>Th1) OR (Interarrival Jitter J increases for nconsecutive RTCP reports)

[0190] Transitions 103 and 105 respectively occur on a criterion

(Fraction Lost<Th2) AND (Interarrival Jitter J is equal to or less thanthe Original Value)

[0191] Note in this 5CB embodiment, and in FIG. 22, that QoS enhancingmeasures are initiated on either an unacceptable level of Fraction Lostor a trend of a certain number n of consecutive increases of Jitter J.The number n is suitably 5 or any other number accomplishing aneffective control function over QoS. Note that the QoS enhancingmeasures are relaxed on the occurrence of BOTH Fraction Lost and JitterJ becoming acceptable. Fraction Lost lower threshold Th2 is made lessthan or equal to Fraction Lost higher threshold Th1. Providing some gapbetween Th2 and Th1 may help prevent oscillations in QoS in some networkenvironments. Note further that n+1 values of Jitter J are suitablystored in a buffer or window of n+1 Jitter values. If the criterion of nJitter increases occurs, then the oldest of the n+1 Jitter values isstored as the Original Value in a suitable register or memory location.Next the buffer is cleared. New RTCP reports of Jitter J now enter thebuffer one by one, and are each respectively compared with the OriginalValue as stored. When the latest value of Jitter J that has come intothe buffer is less than or equal to the Original Value, and if theFraction Lost is less than Threshold 2 (Th2), then the QoS enhancingmeasures are relaxed by making a transition from state (s22,d22) tostate (s12,d12). Then if the succeeding latest value (or alternativelysome predetermined plural succeeding number nil of latest values) ofJitter J that has come into the buffer is less than or equal to theOriginal Value, and if the succeeding latest value of Fraction Lost isstill less than Threshold 2 (Th2), then the QoS enhancing measures arestill further relaxed by making a transition from state (s12,d12) tostate (s11,d11) as shown in FIG. 1.

[0192] Preferably but not necessarily, the overall transmission ratesij+dij is not increased on the transitions 101.

[0193] It should be apparent that numerous variations on this theme canbe introduced in still further embodiment subtypes.

[0194] 5D. Adaptation embodiment using TCP throughput estimate for bothdelay-jitter handling approaches compares a ratio of a corresponding TCPthroughput estimate to current overall transmission rate with athreshold. One relatively uncomplicated TCP throughput estimate is givenby: (constant×packetsize)/(round-trip delay×sqrt(average loss measuredduring the lifetime of the connection)). A suitable value of theconstant is 1.22. See D. Sisalem et al., “The loss-delay basedadjustment algorithm: A TCP-friendly adaptation scheme,” NOSSDAV, July1998.

[0195] In FIG. 1, this embodiment 5D uses as criterion for transitions101:

(TCP throughput estimate/current overall transmission rate<Th1)

[0196] As criterion for transitions 110, 103 and 105 this embodiment 5Duses

(TCP throughput estimate/current overall transmission rate>Th2).

[0197] “sqrt” means the “square-root function of.” Still further, sincethresholding is involved, the throughput estimate and current overalltransmission rate can be squared, and compared with the square ofthreshold Th1 or Th2. This eliminates the square root calculation andspeeds computation in some embodiments.

[0198] Preferably but not necessarily, the overall transmission ratesij+dij is not increased on the transitions 101.

[0199] By the use of diversity, the above embodiments handle short-termnetwork fluctuations well, and cope with VoIP/VOP applications thatinvolve multiple links of heterogeneous characteristics.

[0200] All the QoS level measure computations and adaptation logics aresuitably used for rate/diversity adaptation (rate and diversity both, oreither one alone, selected at different times, or selected on differenttransitions). All the QoS level measure computations and adaptationlogics are suitably used for source rate adaptation alone in variousembodiments without any diversity or diversity adaptation. All the QoSlevel measure computations and adaptation logics are suitably used fordiversity adaptation alone in various embodiments without any sourcerate adaptation.

[0201] In FIG. 23, the amount of overall transmission rate reduction andthus severity of state change advantageously are made to depend on theseverity of congestion. For example, one process embodiment is acombination of the processes of FIGS. 1 and 23. The process of FIG. 1pertains if the congestion severity is low (A>F>Th1), and a decisionstep chooses the process of FIG. 23 if the congestion severity is high(F>A>Th1). The value A is an adaptation mode threshold value suitably inthe range of 1.1×Th1 to 2.0×Th1. Value of A set at 1.5 times Th1 ismentioned as suitable, for instance. Value A is called an adaptationmode threshold because the mode or process of adaptation (e.g. of FIG. 1and of FIG. 23) is the subject of selection.

[0202] Preferably but not necessarily, the overall transmission ratesij+dij is not increased on the decreasing transitions 2211 and 2215 ofFIG. 23. Any of the state transition criteria of embodiments 5A, 5B,5CA, 5CB, and 5D can be used to trigger a transition. See descriptionshereinabove. For instance if the state transition criteria for F inembodiment 5A is used, then F is a value of overall packet-loss ratereported back in the latest RTCP packet. Similarly, on the returntransitions 2221, 2223 and 2225 then F is a value of overall packet-lossrate reported back in the latest RTCP packet then pertaining to therespective determination step giving rise to the respective transition2221, 2223 and 2225.

Overall transmission rates: . . . (s 11+d 11)=(s 12+d 12)>(s 21+d 21) (s22+d 22)>(s 31+d 31)=(s 32+d 32) . . .

Where (d 11<d 12), (d 21<d 22) and (d 31<d 32).

[0203] sij denotes the rate for Pn, and dij denotes the rate for Pn′.

[0204] Among various embodiments are embodiments for rate/diversityadaptation for Voice over IP and Voice over Packet. Described herein aresystems, integrated circuits, and processes to adapt both rate anddiversity, or each individually, in Voice over IP, Internet Audio, andVoice over Packet (VoIP/VOP) applications. Advantages include a robustsolution for handling network impairments, while utilizing networkresources efficiently.

[0205] As noted earlier, Voice over Packet (VOP) and Voice over InternetProtocol (VoIP) are sensitive to jitter to an extent qualitatively moreimportant than for text data files for example. This sensitivity is alsoa problem for other types of real-time communication media such asframes of compressed video, but for brevity, VOP will be discussed as aplaceholder for the other types of real-time communication as well.

[0206] The frame is the data unit for the speech coder. The packet canhold one frame or more than one frame. With constant number of framesper packet, packet loss rate is equal to frame loss rate.

[0207] ATM is a more sophisticated packet network wherein every packetin a stream takes the same path, so it represents a form of transmissionthat conceptually lies between circuit switching and packet switching.ATM, Frame Relay, and other forms of networking also can benefit by theimprovements described herein.

[0208] RTP provides time stamps and packet sequence numbers. UDP (UserDatagram Protocol) manages end-to-end transmission without anyretransmission. UDP sits in the same layer as TCP. In one embodiment,RTP/UDP/IP is herein utilized for VOP instead of TCP/IP.

[0209] When multiple users congest the routers in the network, somepackets become lost by actual loss or excessive delay.

[0210] In FIG. 4, source rate control with no diversity, an embodimentuses a one-link network having, for example, a hundred users eachtransmitting at 16 Kb/s. Each packet has a header which takes about 8Kb/s of overhead. As the number of users goes up to 140, for example,the packet loss rate goes to 4%. As the number of users increases, thepacket loss rate also increases. In one example of a process embodiment,all the users are signaled, for instance, by a gatekeeper, to decreasetheir transmit rate from 16 Kb/s to 11.2 Kb/s. Then the packet loss rateadvantageously drops.

[0211] The process executes a QoS determination step, which for exampleis a packet loss rate calculation over a predetermined window interval,given an expected rate of transmission. For example, if the connectionprotocol has identified a rate of transmission that is high, then ahigher number of packets will be received during the same predeterminedwindow interval at a given QoS than would be received the rate oftransmission is lower. A simple packet loss rate calculation simplymonitors the tags of the packets in a receive buffer, and counts up thenumber of packets that are present (a QoS measure) or those that arelost (Loss Rate which is just an inverse type of QoS measure). If apacket arrives in the buffer with a serial number and/or time stamp thatindicates it is unusable, then it is dropped from, the buffer and notcounted. This is because VOP in some forms can only play or decodepackets that have arrived in time to be meaningful to the user.

[0212] Another packet loss rate calculation that can be used with ashort receive buffer keeps independently of the buffer a Service List ofthe packet tags and when they were received. The process simply countsfrom the Service List the number of packets which are within the windowinterval (e.g. last 5 seconds), or the number of missing packetsdepending on the approach.

[0213] Yet another process increments a counter when a new usable packetis received and decrements the counter when the time of arrival of apreviously-counted usable but now-old packets has its time of arrivalhas become prior to the predetermined window interval from the presentinto the past. Other more sophisticated and arithmetically complex QoSmeasures are useful as well.

[0214] The skilled worker implements any suitable QoS determination. Forexample RTCP protocol has a reception block with a packet loss ratefield wherein the protocol specification specifies how to compute a QoSmeasure at destination and transmit it back to the source. Thus, onetype of embodiment suitably uses, supports or is compliant with RTCPprotocol. Desirably, the source receives an “effective or overall packetloss rate or ratio” type of QoS measure which takes into account alllost packets, not only those actually lost in the network, but alsothose packets which came too late to be usable for the application, suchas VOP, actually in use at the destination. Note further that theeffective packet loss rate might be less when more sophisticatedinventive VOP application software is implemented at the destination,even though the network congestion were no different.

Packets Lost=Packets Lost in Network+Packets Unusable at Destination.

EPLR=Effective Packet Loss Ratio=[Packets Lost in Network+PacketsUnusable at Destination]/Packets Sent.

[0215]FIG. 3 shows a system embodiment for adaptation to networkconditions by adjusting either or both of at least two communicationsvariables, here transmission rate and diversity. For brevity, processembodiment employed in this system embodiment is called “Rate/DiversityAdaptation.” The various blocks of FIG. 3 are suitably implemented asall software, all firmware or hardware, or some mixture of software,firmware and hardware allocated and partitioned among the variousblocks. In one embodiment, the blocks are all software code andmanufactured into one or more sections of non-volatile memory on asingle semiconductor chip. Combinations of volatile and non-volatileon-chip and off-chip storage are also suitably implemented in variousother embodiments by the skilled worker.

[0216] In FIG. 3, a transmit section 311 in a source computer (computernot shown) has a speech encoder block 321 having sending rate sij. Block321 supplies encoded speech to a Rate/Diversity Adaptation control block331. Control block 331 determines the degree of diversity dij to becommanded by control block 331. Control block 331 feeds a STATE commandto speech encoder 321 to initiate the generation of more or fewerpackets for time-diversity, path diversity or both time and pathdiversity purposes. Also, control block 331 has an Add Diversity portionwhich couples and multiplexes encoded speech from encoder 321 to an RTPPacket Encapsulation block 341. The Add Diversity portion introducesdiversity according to each implemented process embodiment as taughtelsewhere herein depending on STATE. Packet encapsulation block 341supplies, communicates and sends packets to and through a packet network351, to a receive section 361′ of a destination computer (not shown).Receive section 361′ has a Delay-jitter Handling block 371′ coupled to aLost Packet Compensation block 381′ which in turn is coupled to a speechdecoder block 391′. One process embodiment operates Lost PacketCompensation block 381′ so that if packet P0 is not received, thenpacket P0′ is decompressed and fed to speech decoder 391′ for playout.Lost Packet Compensation block 381′ in the destination also supplies viaan RTCP packetizer 395′ RTCP packet loss information descriptive ofsource-to-destination packet communication back via packet network 351to the Control block 331 in the source.

[0217] Both sides, source and destination, have speech encoder,rate/diversity control block, packet encapsulation, delay-jitterhandling, lost packet compensation and speech decoder. Thus, it shouldbe understood that for two way communication, there is suitably provideda transmit section 311′ (not shown) in the destination computer suitably(but not necessarily) identical to transmit section 311 describedhereinabove. Also suitably provided is a receive section 361 (not shown)in the source computer suitably (but not necessarily) identical toreceive section 361′ described hereinabove.

[0218] Primes in FIG. 3 indicate blocks in the destination computer, andunprimed numerals indicate blocks in the source computer. This format ofdrawing visually and literally communicates the transmitter source pathto the receiver destination. Also, this format concisely andconveniently permits the reader to visualize both the transmit andreceive software blocks 311 and 361 at the transmitter-source end byignoring the primes on the numerals for the receive blocks. Further, theformat represents software blocks 311′ and 361′ at the receiverdestination end by considering all numerals as primed for transmitblocks and receive blocks.

[0219] Lost Packet block 381 (not shown) in the source also supplies viaan RTCP packetizer 395 (not shown) second RTCP packet loss informationdescriptive of destination-to-source packet communication back viapacket network 351 to the Control block 331′ in the destination.

[0220] In other more complex embodiments the path of communication fromLost Packet Compensation 381′ to Rate/Diversity control block 331 issuitably made independent of packet network 351, as by satellite,wireless, PSTN, etc.

[0221] Advantageously, control block 331 and compensation block 381 areeach important improvements, singly and in combination with each otherand in combination with the other blocks described. Also, feeding backSTATE command information to a speech encoder improved to respond in itsoperations thereto, advantageously confers flexibility and control overQoS under different network 351 loading conditions.

[0222] Receive section 361′ has a Delay-jitter Handling block 371′ witha buffer in it, a process for reading the packet headers including theirpacket sequence numbers and time stamps, and a process of discarding orignoring packets that arrive too late. Block 371′ is coupled to a LostPacket Compensation block 381′ which utilizes any suitable means ofreconstructing lost VOP data in lost packets such as by inserting zeroesor white noise, or by interpolation or by reconstructing fromtime-diversity, path diversity, or combined time/path diversity packetinformation.

[0223] In addition block 381′ calculates the QoS measure, such as packetloss ratio as described earlier hereinabove. Lost Packet block 381′ inthe destination also supplies the RTCP packetizer 395′ the QoS measurewhich packetizer 395′ incorporates into the payload of return RTCPpackets and sends them to control block 331.

[0224] Block 381′ couples commands and encoded speech data to speechdecoder block 391′. The commands identify which of plural modes speechdecoder block 391′ is to execute. For example, when only a single packetstream having a first type of encoding and transmission rate is beingreceived, then the speech decoder is commanded to decode that first typeof encoding and transmission rate. When a single packet stream havingtime-diverse packets in the stream is being received, then the speechdecoder is commanded to decode by type of encoding, and to put thediverse packets information together to somewhat improve the quality ofthe output sound. When multiple packet streams having path-diversepackets are being received, then the speech decoder is commanded todecode by type of encoding, and to put the diverse packets informationtogether to advantageously improve the quality of the output soundaccording to processes particularly emphasized herein. When multiplepacket streams having not only time-diverse packets but alsopath-diverse packets are being received, then the speech decoder iscommanded to decode by type of encoding, and to combine the packetinformation together to further advantageously improve the quality ofthe output sound.

[0225] Among various voice coders (vocoders) or speech coderscontemplated for block 321 of FIG. 3 are G.711 PCM (pulse codemodulation), 64 kbps (kilobits per second); G.726 ADPCM (adaptivedifferential pulse code modulation), 32 kbps; G.729, 8 kbps; G.729 AnnexA, reduced complexity version; G.729 Annex B, silence compression;G.723.1, 5.3/6.3 kbps (dual rate); G.723.1 Annex A, silence compression;TI-CELP and VOP-optimized vocoders as described in the literature citedherein or elsewhere. These specific identifications of vocoders arenon-limiting examples.

[0226] Turning again to FIG. 3, the RTCP specification describesfeedback information which is contemplated herein as sent frompacketizer 395′ eventually to rate/diversity control block 331. It iscontemplated that in one type of embodiment the feedback information becomputed as described herein and/or as described in the RTCP spec. Notethat RTCP can be extended if an application requires additional feedbackinformation.

[0227] In connection with FIG. 9, RTP is useful for real-time data likeinteractive voice and video. RTP services include payload typeidentification, sequence number, time stamp, and synchronization sourceidentifier (identifies sender and any conference contributors to thepacket). The header includes other information, and the payload includesvoice frames, compressed audio, video, real-time control and measurementdata, or other real-time information. The timestamp reflects thesampling instant of the first byte of the first voice frame in thepacket. A clock oscillator in the system of FIG. 3 provides a suitablystable time base for calculating this sampling instant time withsufficient accuracy to allow the delay-jitter handling block 371′ andlost packet compensation block 381′ to respond to delay, jitter, andout-of-order packets.

[0228] RTP is suitably carried on top of UDP and IP. Each frame or setof frames of audio/voice/video/media has RTP header and a UDP packetcontains the frame(s) and RTP header. The Payload type field in the RTPheader identifies the type of coding that the encoder 321 uses. RTCP isa control protocol for RTP. An RTCP “report packet” has a header as inFIG. 20. The report packet carries the synchronization source identifierof each sender 311 that a given one of one or more report blocksdescribes, as well as the synchronization source identifier of thecomputer (herein further improved with block 361′) that creates thereport packet. A report block has several fields: 1) fraction lost L, 2)cumulative number of packets lost CL, 3) extended highest sequencenumber received EHSN, 4) interarrival jitter J, 5) last report packettime stamp LSR, and 6) delay since last report packet DLSR. Furtherreport blocks in the report packet of FIG. 20 identify a differentsender computer (as in a conference) and report values L, CL, EHSN, J,LSR, DLSR back to that sender. Profile-specific extensions follow thereport blocks as the skilled worker elects.

[0229] In RTCP report packet report block, the Fraction Lost fieldoccupies eight (8) bits. Fraction Lost means the fraction of RTP datapackets that were lost out of the packets sent by the described-sendersince the last report packet was sent by the reporting sender. FractionLost is expressed as a binary fraction with the binary point at the leftedge of the 8-bit field. Put another way, the integer occupying the8-bit field is the Fraction Lost multiplied by 256. Put another way,Fraction Lost is the number of packets lost divided by the number ofpackets expected during the period since the last report packet. If theloss is negative due to duplicates, the fraction lost is set to zero. Ifall packets are lost in a reporting interval, no reception report ismade. Note that in various alternative embodiments, the Fraction Lostcalculation is either replaced by another QoS calculation, or suitablyaltered so that duplicates and diverse packets do not decrease the lossfraction.

[0230] In FIG. 21, QoS level measure computation process embodiment istemporally localized in order to avoid smoothing of network effects.While other intervals can be used in various embodiments, currently theRTCP Transmission Interval (longer line in FIG. 21) is made long enoughto gather and report statistically meaningful new QoS data. The RTCPtransmission interval is made short enough at receiver 361′ to reportback the new QoS data and also enable the sender 311 to adaptivelychange its source rate and diversity in a manner that is reasonablyresponsive to network conditions and opportunities. The RTCP interval inone range of embodiments is set between 1 second and 30 seconds. Anexample value of 5 seconds RTCP Transmission Interval between the I andI−1 RTCP report packets is contemplated in the foregoing range, forinstance.

[0231] The QoS level measure computation process (shorter line QoS inFIG. 21) is preferably arranged to occur right up to the end of the RTCPTransmission Interval so that the latest RTCP report packet is using thelatest QoS data possible. The QoS level measure computation interval ismade short enough at receiver 361′ to avoid smoothing of networkeffects.

Packets Lost=Packets Lost in Network+Packets Unusable at Destination.

EPLR=Effective Packet Loss Ratio=[Packets Lost in Network+PacketsUnusable at Destination]/Packets Sent.

[0232] Number of packets lost in a time interval between reports issuitably calculated as the difference in the cumulative number ofpackets lost in the report packets. The ELSN (extended last sequencenumber) data in the report packets is used as follows. Calculate thedifference in the ELSNs between two report packets to obtain theexpected number of packets during the interval between the reportpackets.

The packet loss fraction PLR=Packets Lost in Network/#PacketsExpected=(Difference in Cumulative# of Packets Lost)/(Difference inELSNs).

[0233] Note that the Effective Packet Loss Ratio includes not onlyPackets Lost in Network but also Packets Unusable at Destination in thenumerator.

[0234] In FIG. 20, the value L communicated from receiver to sender issuitably made equal to EPLR, or alternatively the RTCP Loss Fraction isused.

[0235] Interarrival Jitter J is a 32-bit mean deviation, smoothedabsolute value, of the difference D(I, I−1) in packet spacing at thereceiver compared to the sender for a pair of consecutive packets I and(I−1). Difference D is the absolute value of the difference in delays ofat least two received packets. Delay d is the difference between apacket's RTP timestamp and the time of arrival in RTP time stamp units.In mathematical terms,

Delay d(I)=t(I)−s(I) (actual time received minus time stamp when sampledat source)

Delay Difference D(I,I−1)=d(I)−d(I−1)

[0236] J is suitably calculated in a calculation loop starting from aninitialized value J of zero and successively calculating:

[0237]J=J+(|D(I,I−1)−J)/N. N=16 is an example smoothing divisor constantused in RTCP.

[0238] Other approaches can calculate jitter as an average of absolutevalues of Delay Difference over a window. One procedure, among otherssuitable, is

J=J+[|D(I,I−1)|−|D(I−N,I−N−1)|]/N. N=16 is an example.

[0239] Still other approaches calculate jitter as the statisticalvariance, or otherwise suitably as the skilled worker elects for thepurposes at hand.

[0240] So another type of embodiment computes jitter J in block 371′ toreport back QoS. Jitter J reported back by RTCP is then compared to athreshold in rate/diversity-control block 331 of FIG. 3. Thus, whenpackets come so variably due to jitter that a steady voice decode streamin the receiver is unobtainable (beyond threshold of acceptability),then adaptation of rate/diversity should occur.

[0241] Still another type of embodiment computes in rate/diversitycontrol block 331 a joint function f(Loss Fraction, Jitter) and comparesits value f with a threshold and then issues STATE controls basedthereon according to a control loop similar to that described in FIG.16, only with value f substituted for value L. It should be apparentthat numerous embodiments of integrated circuits, process, and systemsare available to the skilled worker in implementation.

[0242] Other data in the RTCP report packet are suitably used infashioning yet other embodiments.

[0243] Cumulative Number of Packets Lost is a 24 bit count of lostpackets since beginning of reception.

[0244] Extended Highest Sequence Number Received is two data: First, thesequence number in the RTP header of the latest RTP data packet fromsender 311 as received at receiver 361′. Second, a count of sequencenumber cycles.

[0245] Last Report Packet Time Stamp is the time of reception atreceiver 361′ of the latest RTCP report packet received from sender 311.

[0246] Delay Since Last Report Packet is the time difference betweenreception of an RTCP report packet from the sender 311, and sending thisRTCP report packet from the receiver 361′.

[0247] RTCP provides for Profile-Specific Extensions in the reportpackets. Therefore, various QoS functions as described herein can becomputed at the receiver 361′ in block 371′ and put into theProfile-Specific Extensions area of the report packet in someembodiments. Otherwise, the QoS functions are suitably computed in block331 of sender 311 from RTCP report packet information like Loss Fractionand Jitter coming back from the receiver. In still a further variation,embodiments use very short RTCP application-defined packets, called APPpackets and receiver 361′ sends back these very short report packetsinstead of the longer RTCP report packets. The short APP packet suitablycontains Packets Lost only, from which Loss Fraction is computed at thesender 311. Or the short packet suitably contains Cumulative Number ofPackets Lost only. Or the short report packet from receiver containsJitter and Loss Fraction only.

[0248] In this way, the introduction of block 381′ as a structural andprocess improvement into the system advantageously improves VoIP/VOPquality by establishing adaptive control of source rate sij anddiversity dij. Block 381′ feeds QoS information such as packet-lossrate, delay statistics and any other information selected by the skilledworker as useful for this purpose, back to rate/diversity control 331.Rate/diversity control 331 thereupon responds to the feedbackinformation according to any suitable process established in control 331and described herein or hereafter devised to improve QoS when it becomesless satisfactory. Such process can operate according to a thresholdingalgorithm as described elsewherein, or respond in a more gradual mannereither according to more closely spaced thresholds or according to avirtually continuous adjustment of source rate and diversity.

[0249] Further, the introduction of block 381′ as a structural andprocess improvement into the system advantageously improves VoIP/VOPquality by actually utilizing more of the packets sent to receiver 361′via packet network 351. Block 381′ utilizes packets having diverseinformation and combines their information and controls speech decoder391′ so as to form a speech output (or other audio or image or othermedia output) that more nearly replicates the speech input to speechencoder 321 originally or otherwise improves the quality.

[0250] Having a sender that has RTP protocol and a receiver that hasRTCP to feed back a packet loss fraction to the sender are improved. Thesender is improved by introducing rate/diversity control block 331 toadd diversity and rate/diversity adaptation with state feedback to thespeech encoder. Likewise improvements for lost packet compensation forthe receiver are provided by block 381′.

[0251] Turning now to FIG. 4, and considering operations at the systemlevel, source rate control with no diversity looks at the packet lossrate, for example. If the packet loss rate is higher than a particularthreshold, then an embodiment of the process requests one, some or allthe senders to reduce their source rate so that the congestion conditioncan be removed from network 351.

[0252] Packet network 351 is a collection of interconnected routers ornodes, interconnected by links, and for the senders in a complexnetwork, not all of the users are necessarily using the same linksbetween the nodes. Thus, in FIG. 3, user 301.p is using different linkssuch as link 303 in contrast to user 301.q who is using other links suchas link 305. However, a link 307 may be used by many users morefrequently than some other links in network 351, and thus contributes topacket loss and consequent low QoS more than do links 303 and 305. Sucha link 307 is then termed a bottleneck link.

[0253] In FIG. 4 a bottleneck network link simulation was run withspeech activity at 45%. The header bit rate was set at 8 kbps and thechannel capacity was set for 24×64 kbps (in FIGS. 4, 5, 7 and 8). Thesimulation studied source rate control with no diversity. Packet lossrate in percent (accounting for both actually lost packets and too-latepackets) was graphed versus number of users (N) in a family of curves inFIG. 4 corresponding to various source rates of 16 kbps, 11.2 kbps and 8kbps wherein source rate is a parameter of the family of curves. Givenan initial source rate of all users at 16 kbps, then as number of usersN rises, the packet loss rate rapidly and nonlinearly rises along acurve 411 until packet loss rate has reached Threshold1 of about 4% atabout 140 users. Further in the FIG. 4 example, requesting a source ratereduction from illustratively 16.0 kbps to 11.2 kbps suddenly andeffectively causes the packet loss rate to fall, as shown by arrow 413,from curve 411 to a curve 421 having parameter 11.2 kbps. Then as moreusers access the network and their number rises to about 180 users, thenthe packet loss rate even on the curve 421 rises rapidly once againnonlinearly to Threshold1 of about 4%. Once again, the source rates aredropped for all users, this time from 11.2 kbps to 8 kbps, and thepacket loss rate drops as shown by arrow 423. Now packet loss rate forthe 180 users is near zero, as seen by inspection at N=180 of a curve431 having parameter 8 kbps.

[0254] As can be seen from inspection of the FIG. 4, more curves forhigher source rates, intermediate source rates, and lower source ratescan be added, and numerous quite sophisticated embodiments can bedevised by the skilled worker to control packet loss rate. For example,the packet loss rate suitably is arranged to fall along an arrow like413 not to essentially zero as shown but to still-significant positivevalue, by adding intermediate source rate values and more smoothlyadjusting source rate. Alternatively, the system and process arestructured to vary the source rate (and/or diversity) in the manner of aservomechanism or servo process loop to minimize an error defined as thedeparture from a target level of QoS. The loop would lock onto thetarget QoS level, except when to do so would require a source rate inexcess of a maximum source rate permitted for the system or otherwise besubject to some technical constraint. Then arrows 413 and 423 would beessentially insignificant in magnitude.

[0255] In FIG. 5, the advantageous effect of diversity in reducing they-axis residual packet loss rate is illustrated for a media-specificredundancy example. Residual packet loss rate accounts only for actuallylost packets and too-late packets that were not compensated by receiptof diversity packets. Speech activity is a percentage of time thatspeech and not silence is occurring. Over a wide span of speech activityfrom 40-60 percent on the x-axis, the residual packet loss rate curve511 when diversity is used, is dramatically lower than for curve 521when a single stream of packets is used. Diversity curve 511 isillustrated for s12=11.2 kbps and d12=4.8 kbps using P0 P1P0′P2P1′ . . .sequence. Diversity curve 521 is illustrated for s11=16 kbps and d11=0kbps using P0 P1 P2 . . . sequence. The curves of FIGS. 4, 5, 7 and 8were derived from a simulation model described in connection with FIG.12. In FIGS. 5 and 7 simulated number of users N was 128. It was assumedthat all users use the same source rate and diversity rate in computingeach curve in FIGS. 5 and 7.

[0256]FIG. 7 is similar to FIG. 5 in the axes and uses MD (multipledescription) coding as an example. Further in FIG. 7, residual packetloss rate L is progressively reduced for any given x-axis amount ofspeech activity in the order of curves 711, 721 and 731. Those curvesrespectively represent (sij, dij)=(8,8), (11.2,0) and (5.6,5.6) kbps.Rate/diversity adaptation is dramatically effective.

[0257]FIG. 8 illustrates another MD (Multiple Description) codingexample. FIG. 8 changes the axis of Packet Loss rate of FIG. 4 toResidual Packet Loss Rate in FIG. 8. No-diversity source rate curves 411and 421 (16.0 and 11.2 kbps source rate respectively) are repeated forclarity in FIG. 8 because when no diversity is used Residual Packet LossRate equals Packet Loss Rate. This bottleneck link simulation had speechactivity held constant at 45%, and header bit rate 8 kbps. Again, theintroduction of diversity at a given overall transmission rate (sij+dij)produces a dramatic improvement in residual packet loss rate.

[0258] The FIG. 8 curves substantiate the feasibility and advantage ofusing stepwise changes of STATE according to a process embodiment ofFIG. 1, wherein not only does transition 101 improve QoS but also afurther step 1007 (of FIG. 10) further improves QoS if such further stepbecomes needed. Compare the improvement represented by curve 811(represents (8,8) case) compared to curve 411 (16,0). At a given numberof users the improvement in packet loss rate, indicated by down-arrow813 is striking-down from 3% example Threshold1 to less than 1%. Furthercompare the improvement represented by curve 821 (represents (5.6,5.6)case) compared to curve 421 (11.2,0). At a higher given number of usersthe improvement in packet loss rate, indicated by down-arrow 823 is alsostriking-again down from 3% example Threshold1 to less than 1%.

[0259] While in the rate diversity adaptation of FIG. 3 only two usersare shown, at a sender 311 and a receiver 361′, various networkembodiments do contemplate dozens, hundred, thousands or more users ofnetwork 351 in FIG. 3. Some, many or all of the users are each providedwith improved transmit/receive software and apparatus 311 and 361 ofFIG. 3. Packet network 351 is thus recognized to be a common area wherethe service demands of many users may start to contend or to producecongestion. Put another way, if FIG. 3 be visualized as the send/receivesoftware 311, 361 and computer of one user, then for 140 users, FIG. 3is replicated or multiplied 140 times with packet network 351 beingcommon to all the diagrams. It should be understood further that becauseof the numerous different embodiments of the invention, various of thoseembodiments are suitably distributed to the various users withadvantageously compatible use of one or more of the various embodimentsall across the network.

[0260] In FIG. 3, the RTCP block sends back the packet-loss rate forpackets that originated at the sender computer for which the receiverdestination computer is receiving. And so, if it so happens that a lowpacket loss rate is detected at RTCP packetization block 395′, thereceiver 361′ will signal back to sender 311 control block 331 a lowpacket loss rate that tells the sender block 331 “do not add anydiversity dij.” Whereas, another receiver at 301.p would detect anotherpacket loss rate from a sender, such as 301.q, from which 301.p isreceiving and not sender 311 and not coordinated in any way withreceiver 361′ either, but independent from both of sender 311 andreceiver 361′. So a receiver at 301.p improved with an embodiment likethat at 361′ would send back packet loss fraction information throughnetwork 351 to its own sender 301.q the instructions whether to adddiversity or not, or the information on which sender 301.q woulddetermine whether to add diversity or not in further transmission to thereceiver at node 301.p.

[0261] The amount of source rate adjustment and diversity adjustmentresponsively introduced by a given sender is subject to selection of anyof various embodiment, the selection suitably made by the skilled workerbearing in mind principles of engineering economics, desirably shortresponse-time, and other considerations.

[0262] For example, if the RTCP packet loss fraction datum rises above atolerable Threshold1, one type of embodiment makes relatively smalleradjustments to source rate and diversity at the sender, and awaitsreception of one or more additional RTCP packets to determine whetherthe packet loss fraction datum remains above the tolerable Threshold1,whereupon further adjustments to source rate and/or diversity areincrementally introduced until the packet loss fraction has been reducedacceptably.

[0263] In another type of embodiment, when the RTCP packet loss fractiondatum rises above a tolerable Threshold1, such type of embodimentdetects the difference between the packet loss fraction and Threshold 1(or compares the fraction with Threshold1 and one or more additionaleven less tolerable higher Thresholds). Then block 331 in suchembodiment makes adjustments to source rate and diversity at the sender,the adjustments being either incremental or more major depending onwhether the packet loss fraction is near Threshold1 or in fact is muchgreater than Threshold1. Such embodiment does not await reception of oneor more additional RTCP packets to determine whether the adjustmentshould be major rather than incremental. However, such embodiment doesfurther update its adjustments and operations utilizing packet lossfraction data from further RTCP packets. The process in such embodimentis suitably tuned to produce adjustments that converge upon appropriatelevel of QoS in a desirably short response time. The process is tuned toprevent any major adjustments from leading to oscillation. Oscillationoccurs when major decrease adjustments alternate with major increaseadjustments, or divergent sequences of adjustments happen that do notcontribute to satisfactory QoS.

[0264] Sender 311 decides whether to perform rate/diversity adaptationdepending on the particular packet loss fraction (or other QoS measure)reported back from the particular receiver 361′ to which sender 311communications are destined. Sender at node 301.q decides whether toperform rate/diversity adaptation depending on the particular packetloss fraction (or other QoS measure) reported back from the particularreceiver at node 301.p to which the communications from the sender atnode 301.q are destined.

[0265] The adjustments thus involve two or more of adjusting source ratesij, adjusting diversity rate dij (involving either or both of timediversity and path diversity rates), and adjusting the overalltransmission rate sij+dij.

[0266] It is possible to have one receiver 361′ having no problem withpacket loss and another receiver say at 301.p having a lot of packetloss. Advantageously, various embodiments avoid contributing in any wayto an metastable or unstable network equilibrium wherein some nodeswould interact collectively to “hog” network resources and others wouldbe starved for network resources. Some schemes use redundancy whereinthey repeat packets or information therein and thus increase the overalltransmission rate. An important advantage of some embodiments is to usediversity adaptively—in other words, based on the network needs—and toavoid making congestion or the deleterious significance of a givenbottleneck-link worse. Some embodiments have a first advantage of usingthe diversity as it is needed, and/or a second advantage of trying toreduce the congestion by both changing the source rate and the amount ofdiversity as well.

[0267] If some senders were encountering a lot of packet loss problems,then suppose that they start adding diversity and thus attempting to usemore network resources and congesting the network some more. A furthersender and receiver pair are now- forced over their Threshold1 oftolerable packet loss fraction, due to the increase in networkcongestion due to the first-mentioned senders. Suppose the further andnow newly over-Threshold1 sender and receiver also add diversity andattempt to use more network resources and congest the network stillmore, introducing QoS problems at further and further senders andreceivers, in a snow-balling or chain reaction effect, wherein thepacket network becomes even more greatly congested leading to networkproblems. Various embodiments avoid this problem by adding diversity torecover QoS adaptively, and either use the same overall transmissionrate sij+dij, or decrease the overall transmission rate.

[0268] The response of sender 311 under control of block 331 might insome embodiments, as illustrated in FIG. 11, ask the network for morebandwidth, and such embodiments can be used where the chain reactionscenario is not applicable. But many of the embodiments advantageouslyavoid the chain reaction scenario even when it is applicable, byadapting to reduce the overall transmission rate sij+dij when the QoSbecomes less acceptable. Thus, a form of the latter such process reducesthe overall transmission rate even when it adds diversity, byconcurrently reducing the source rate by an amount exceeding an amountof contribution due to addition of diversity. In other words, someprocess embodiments are improvements to control the sender in such a wayas not to increase the overall transmission rate, thus the requestedbandwidth and attendant network congestion, but instead will use thenetwork in a way which will reduce lost VoIP/VOP packets.

[0269] Rate and diversity usage of the network is optimized subject tothe constraint that overall transmission rate be less than or equal to agiven amount (which might change with network conditions). Inoptimization mathematics terminology, a QoS merit function is optimizedsubject to at least one constraint, namely that overall transmissionrate be less than or equal to a given amount.

[0270] QoS is affected jointly by the amounts of source rate at whichthe speech encoder is transmitting and given by variable sij anddiversity given by variable dij commanded by control block 331 of FIG.3. Diversity has types: time diversity or path diversity or combinedtime/path diversity, for instance.

[0271] The overall transmission rate is allocated between the sourcerate and the diversity dij.

[0272] Given a subsisting state of the network, QoS is a function of sijand dij. Mathematically, QoS is a function of two variables sij and dij.Graphically, QoS is a surface in a three-dimensional space having QoS asa vertical dimension and having two horizontal dimensions sij and dij.Thus,

QoS=f(sij,dij).

[0273] As between two users p and q, QoS(p,q,t) represents the QoS forcommunications from p to q at time t. QoS(q,p,t) represents the QoS forcommunications in the opposite sense from q to p at time t. QoS varieswith number of users N, speech activity A, and over time depending onthe configuration state of the network. Put another way,

QoS=QoS(p,q,sijp,dijp,A,N,t).

[0274] This 7-dimensional QoS function expresses the idea that QoSdepends on which two users are involved, the source rate sij from senderp, the diversity rate dij from sender p, number of users N and the timet.

[0275] Let L be the packet loss after the application of diversity,meaning after any packet recovery or reconstruction that is implemented.Packet loss rate L is inversely related to QoS by a function g(L) so

QoS=g(L((p,q,sijp,dijp,A,N,t)).

[0276]FIGS. 4, 5, 7 and 8 represent graphs of residual packet loss invarious hyperplanes cutting through the multi-dimensional spacerepresenting

[0277] L(p,q,sijp,dijp,A,N,t).

[0278] Further, the following inequality expresses the challenge solvedby embodiments herein to keep QoS above a threshold subject to aconstraint on each sender p on overall transmission rate:

QoS(p,q,sijp,dijp,A,N,t)> threshold

sijp+dijp<=max overall transmission rate respective to each sender p.

[0279] or, put otherwise,

L(p,q,sijp,dijp,A,N,t)< threshold

sijp+dijp<=max overall transmission rate respective to each sender p.

[0280] The sender takes advantage of the diverse properties of thepacket network so as to reduce the packet loss rate and increase the QoSto at least an acceptable amount.

[0281] When the threshold applies to all the users on the network, thenthe challenge of maintaining high QoS calls for the network-friendlyadvantages discussed elsewhere herein.

[0282] Some embodiments have just one QoS threshold wherein if thetransmission quality becomes less acceptable than that threshold, anembodiment will make an adjustment in rate/diversity adaptationindicated by transition 101 of FIG. 1 to improve QoS. However, the factof even a single threshold does not prevent control block 331 frommaking one or more further adjustments like transition 1007 of FIG. 10when additional RTCP packets indicate that the QoS remains on theunacceptable side of the threshold. The apparatus acts like aservomechanism wherein the use of even just one error threshold(although other embodiments herein can use more thresholds) enables theservo notwithstanding to continually make adjustments in its output tokeep the error within the threshold. Thus, when QoS is unacceptable, theapparatus keeps adapting, if possible, by changing the values of sij,dij, or both, until QoS is brought within an acceptable range. At somepoint, given a subsisting state of the network, there will be an stateof adaptation of an embodiment that confers not just adequate QoS butoptimum QoS. Some embodiments find a barely acceptable QoS, othersprovide adaptive ways to reach the optimal QoS structure of (sij, dij)and search until the optimum QoS is obtained. Suppose the optimal QoS isobtained in the computers of every one of the network users. Since theoptimum is the best the apparatus can do under constrainedcircumstances, consider whether network performance will start todegrade or become unstable. When circumstances are bad, the conditionsare improved by adding diversity and reducing the overall transmissionrate. When the situation is measurably improved, the source rate issuitably increased cautiously or incrementally through multiple stages103 and 105 in FIG. 1, while the diversity is suitably reduced,maintained, or in the example of transition 103 even increased. Furtherin the example, the diversity is reduced or terminated on the finalrecovery transition 105 in oval 111.

[0283] Control block 331 takes original compressed speech packets P0,P1, P2, P3 and suitably adds diversity. If diversity robustness becomesneeded, then it adds P0′ a form of the information in packet P0. So ifthe network loses the packet P0, or P0 comes too late and thus is notavailable while P0′ is on hand, then the lost packet compensation block381′ uses bits P0′ to reconstruct the information in packet P0 to someextent or even fully.

[0284] In FIG. 6 no diversity is implemented as a stream of packets P1,P2, P3 with their respective different headers H. Time diversity, in afirst example has packet 611 with the information of packet P1 and anappended, or trailing set of compressed bits (0) having informationdependent relative to a previous packet P0. Packet 611 is followed bypacket 613 bearing information of packet P2 and an appended, ortrailing, set of compressed bits (1) having information dependentrelative to packet P1. Packet 613 is similarly followed by packet 615bearing information of packet P3 and a trailing set of compressed bitshaving information dependent relative to packet P2.

[0285] Time diversity, in a second example has packet 621 with theinformation of packet P1 and trailing bits for compressed informationdependent relative to two previous packets. Packet 621 is followed bypacket 623 bearing information of packet P2 and an appended, ortrailing, set of compressed bits having information dependent relativeto packet P1 and the next previous packet before P1. Packet 623 issimilarly followed by packet 625 bearing information of packet P3 andtwo trailing sets of compressed bits having information dependentrelative to packets P2 and P1 respectively. Succeeding packets haveinformation of the nth packet and two trailing sets of compressed bitshaving information dependent relative to the nth packet's twopredecessor packets P(n−1) and P(n−2).

[0286] Further in FIG. 6, a packet 631 having the information of packetP1 is sent through the network. Further, a packet 632 has compressedbits which are a function not only of packet P1 information but alsopacket P2 information. Further in the sequence, packets 635 and 637 aresuccessively sent bearing the information of packets P2 and P3.Dependent packet 636 bears information that is a function f(2,3) ofpackets 635 and 637. Dependent packet 638 is similarly constructed insequence. Here an example of function f is exclusive -OR (XOR) as in FECparity schemes.

[0287] Another embodiment of time diversity has packets 641, 643, 645,etc. having information same as packets P1, P2, P3, etc. as well asrespective appended information bits dependent as a joint function ofthe information in the two preceding packets, e.g. f(1,2).

[0288] In FIG. 11, the source rate s11 of a packet stream 1111 is agiven amount. When QoS falls, the control block 331 utilizes analternative process wherein it reduces the source rate to an amount s22compared to first source rate s11. However, diversity d22 is added inpacket stream 1121 and the overall transmission rate s22+d22 exceeds theoriginal transmission rate s11 (where d11 was zero).

[0289] In a further alternative, control block 331 maintains source rates22 equal to s11 and diversity d22 is added as shown in a packet stream1131. Here again overall transmission rate exceeds the originaltransmission rate of stream 1111.

[0290]FIG. 12 illustrates packet loss simulation. Voice sources 1, 2, 3,. . . N each have two-state Markov models comprising speech and silencestates. Each voice source is assumed to use the same coder rate R. Thevoice sources are fed to a buffer 1211 and thereupon to a communicationslink 1221 having a capacity C of, for example, 24×64 kbps. The buffer1211 has a size, for example, of C/(R+H) packets, where C is linkcapacity, R is coder rate, and H is overhead rate. The model simulatesto determine the packet loss rate L which results from variouscombinations of source rate, time diversity and path diversity, thusproducing the graphs of FIGS. 4,5,7 and 8. Software prepared in astraightforward manner by the skilled worker operates various blocks ofthe system of FIG. 3 and implements the process embodiments such asthose represented by the state transition diagrams of FIGS. 1 and 10.

[0291] In FIG. 13, input to the simulator of FIG. 12 varied number ofusers N over a time interval of ten (10) minutes (600 seconds). Nstarted out at 128, rose to 155, then dropped to 112, rose to 164 andthen dropped to 120. The simulator of FIG. 12 then produced packet lossrate data. This data was fed to control software for control block 331,which in turn produced states of FIG. 1 for line STATE in FIG. 3 inorder to bring packet loss rate, and thus QoS, under control.

[0292] In FIG. 14, the states produced by the control block 331 areillustrated in a graph of Overall Transmission Rate sij+dij versus timet over the ten minute interval of FIG. 13. During use by the initialnumber N=128 of users, 16 kbps source rate and zero diversity isselected by control block 331, corresponding to state (s11,d11) ofFIG. 1. When the users rise to N=155, the control block downshifts to 8kbps source rate and 3.2 kbps of diversity, corresponding to FIG. 1transition 101 to state (s22,d22). Then a transition next occurs afterabout 5 seconds to a state (s21, d21) of (11.2, 0) kbps which persistfor about 100 seconds. Next, when the users drop to N=112, the controlblock 331 transitions back to 16 kbps overall transmission rate, butdoes the transition as two-step up-shift in the structure of source rateand diversity as follows. First, the transition goes to state (s12,d12)using 11.2 kbps source rate and 4.8 kbps diversity rate. Second, asucceeding transition goes from state (s12,d12) back to state (s11,d11)and recovers 16 kbps source rate and turns off the diversity to zero.Later and further in FIG. 13, when the number of users subsequently goesto N=164 and then lastly down to N=120 in FIG. 13, the control block 331adapts by again transitioning through steps as described.

[0293] In FIG. 15, a packet voice digital signal processor (DSP) isimplemented as an integrated circuit 1411. The integrated circuit issuitably a CMOS DSP such as any suitable selection from the TMS320C54xor TSM320C6x DSP families, or other such families commercially availablefrom Texas Instruments Incorporated, Dallas, Tex. USA. See Wireless andTelecommunications Products: Central Office, Telemetry RF Receivers andPersonal Communications Solutions, Data Book, Texas InstrumentsIncorporated, 1996, which is hereby incorporated herein by reference,and particular Chapter 9, Digital Signal Processors therein.

[0294] For example, the TMS320C54x fixed-point, DSP family is fabricatedwith a combination of an advanced modified Harvard architecture whichhas one program memory bus and three data memory buses. This processoralso provides a central arithmetic logic unit which has a high degree ofparallelism and application-specific hardware logic, on-chip memory,additional on-chip peripherals. This DSP provides a specializedinstruction set for operational flexibility and speed of the DSP.

[0295] Separate program and data spaces allow simultaneous access toprogram instructions and data. Two reads and one write operation can beperformed in a single cycle. Instructions with parallel store andapplication-specific instructions are provided. Data can be transferredbetween data and program spaces. The parallelism supports a powerful setof arithmetic, logic and bit-manipulation operations that can all beperformed in a single machine cycle. Control mechanisms manageinterrupts, repeated operations and function calling. On-chip RAM andROM memories are provided. Peripherals on-chip include serial port andHPI host port interface.

[0296] In FIG. 15, integrated circuit 1511 is improved with softwaremanufactured into the ROM, or other nonvolatile, memory for implementingsome part of the process embodiments. Thus, FIG. 15 emphasizes anexample of software blocks manufactured into the integrated circuit1511, the hardware described hereinabove being understood. Thus,description in software parlance follows next regarding FIG. 15 whereinfor example a “unit” refers primarily to a block of software, although ahardware block is another suitable alternative.

[0297] In FIG. 15, voice samples are supplied from an analog to digitalconverter (ADC) not shown, to a PCM interface 1515 and converted thereto pulse code modulation. Next the PCM is fed to an Echo Canceller block1517, which feeds a Gain Control block 1521. Gain control 1521 suppliesa Voice Activity Detector 1531 which detects whether voice packets orsilence packets are to be generated. The output of Voice ActivityDetector 1531 goes to a speech coder 1541 having a Voice Coding Unit, orencoder, 1551. The speech coder 1541 is suitably devised or implementedby the skilled worker so as to have multiple coding rate modes ascontemplated herein. For one example, G.729 and Annexes with 11.8 kbps,8 kbps and 6.4 kbps selectable source rates sij is suitably used. Thenan Add Diversity (dij) Rate/Diversity Control Block 1561 couples theoutput of encoder 1551 to a Packet Encapsulation Unit 1571 whichthereupon outputs voice packets from the DSP. Control Block 1561 alsofeeds back STATE (sij,dij) control signals back to voice coding unit1551 to command unit 1551 to produce speech packets at the sij sourcerate, and to produce diversity packets for diversity transmission atrate dij via packet encapsulation unit 1571.

[0298] On a receive path in FIG. 15 voice packets enter packetencapsulation unit 1571 where they are depacketized and passed to aPacket Playout Control Unit 1581. Control Unit 1581 has software thatimplements process steps for delay handling, delay jitter handling andlost packet compensation. Incoming RTCP packets contain lost packetfraction information from a destination across the network external tointegrated circuit 1511. This lost packet fraction information is fedvia a path 1583 to the Rate/Diversity control block 1561.

[0299] Also, the delay and jitter handling portion of Packet PlayoutControl Unit 1581 includes software process steps to produce second lostpacket fraction information representative of the incoming voice packetsto integrated circuit 1511. This second lost packet fraction informationis fed via a path 1585 to Packet Encapsulation Unit 1571 whichpacketizes the second lost packet fraction information into outgoingRTCP packets to update the destination across the network. Thedestination is suitably improved with an integrated circuit 1511′ (notshown) similar to or identical to integrated circuit 1511 of FIG. 15.

[0300] From Packet Playout Control Unit 1581, depacketized compressedvoice information being received is then supplied in a controlled mannerto a speech decoder 1555 portion of speech coder 1541. Silence packetsand voice packets, suitably dejittered and compensated by use ofdiversity packets as improved according to any of various processembodiments herein, then are decoded by speech decoder 1555 and thusplayed out. The speech thus played out, passes via Gain Control 1521 toPCM interface and from there to a DAC (digital to analog converter) notshown which can be provided either on-chip or off-chip as the skilledworker elects. The PCM output as converted by the DAC thus reconstitutesthe voice in an advantageous manner more fully satisfactory andenjoyable to the user, by virtue of the various improvements providedand discussed herein. Further, a DTMF “touch-tone” generator 1591 andTone Detector 1593 handle the dialing steps for placing a VOP/VoIPtelephone call to confer a comprehensive application improved asdiscussed herein.

[0301] Operations of add diversity block 1561 of FIG. 15 are illustratedin is FIG. 16. A software implementation is illustrated. In FIG. 16,operations commence at BEGIN 1601 and proceed to a step 1605 toinitialize a vector STATE having vector element values s (source rate)and d (diversity rate). The values s and d are initialized with initialvalues s11 and d11 respectively.

[0302] Next in FIG. 16, a loop begins at an input step 1611 to input anewly-arriving QoS datum such as a new RTCP report QoS inverse measuresuch as the packet loss fraction L. If no RTCP packet is present,operations branch to a RETURN 1614. If an RTCP packet is present, thenoperations proceed to a decision step 1615.

[0303] In the decision step 1615, the value L is compared to determineif L exceeds a first threshold, designated Threshold1 or Th1, indicatingtoo much packet loss at the destination. If too much packet loss, thenoperations proceed from step 1615 to a decision step 1617 to determinewhether L also exceeds an even higher level A. If L is less than orequal to A, operations go next to a moderate update step 1621. If Lexceeds A, operations go to an aggressive update step 1623.

[0304] In step 1621, a vector NEWSTATE is moderately updated in themanner shown in FIG. 1 and intended to improve QoS and likely reducevalue L expected subsequently when the destination reports back.NEWSTATE is an intermediate state value holding vector, usedintermediately in controlling the values called STATE. NEWSTATE issuitably updated according to any software method selected by theskilled worker, such as by looking up in a table, or executing a CASEstatement, or implementing a software state machine, or otherwise. Ifthe source rate can be decreased no further, and the diversity can beincreased no further, then step 1621 simply makes NEWSTATE the same asthe current state. After step 1621 operations go to step 1651.

[0305] In step 1623, vector NEWSTATE is aggressively updated (forexample to state (s32,d32)) in the manner shown in FIG. 23 and intendedto improve QoS and likely reduce value L expected subsequently when thedestination reports back. Here again, NEWSTATE is suitably updatedaccording to any software method selected by the skilled worker, such asby looking up in a table, or executing a CASE statement, or implementinga software state machine, or otherwise. If the source rate can bedecreased no further, and the diversity can be increased no further,then step 1623 simply makes NEWSTATE the same as the current state.After step 1623 operations go to step 1651.

[0306] Some embodiments have thresholds B, C, etc., such that NEWSTATEis moderately updated if (A>F>Th1), NEWSTATE is aggressively updated if(B>F>A>Th1), and NEWSTATE is even more aggressively updated if(F>B>A>Th1).

[0307] If in step 1615, L does not exceed Threshold1, operations proceedto a decision step 1627. Step 1627 determines if either the gatekeepersignal GK is on (GK=1) OR a buffer full flag is on (BFR=1). If NO, thenoperations go directly to step 1625, but if YES, operations go to anupdate step 1629.

[0308] In step 1629, vector NEWSTATE is updated (for example to state(s31,d31)) in the manner shown in FIG. 23 and intended to improve QoSand likely reduce value L expected subsequently when the destinationreports back. Here again, NEWSTATE is suitably updated according to anysoftware method selected by the skilled worker, such as by looking up ina table, or executing a CASE statement, or implementing a software statemachine, or otherwise. After step 1629, operations go to step 1651.

[0309] In decision step 1625, the packet loss fraction value L iscompared with a second threshold Threshold2, or Th2. If value L is lessthan Th2, then QoS has improved or is at a high level already. In suchcase, operations pass to a step 1631 to update NEWSTATE to increase thesource rate. Step 1631 inputs a new estimated steady state overalltransmission rate S. As in steps 1621 and 1623, NEWSTATE is suitablyupdated according to any software method selected by the skilled worker,such as by looking up in a table, or executing a CASE statement, orimplementing a software state machine, or otherwise. As indicated inFIG. 1 and FIG. 10, the process need not be simply the reverse of thetransitions available in step 1621, and so step 1631 is customized forits own updating purposes. Also, if the source rate can be increased nofurther, and the diversity can be decreased no further, then step 1631simply makes NEWSTATE the same as the current state. One embodimentperforms aggressive overall transmission rate increase if the ratio R ofestimated steady state overall transmission rate S to current overalltransmission rate exceeds a threshold Th3 (e.g. 3.0), and performsgradual overall transmission rate increase otherwise. For example, suchembodiment uses TCP throughput estimate for new estimated steady stateoverall transmission rate S. The TCP throughput estimate is suitablythat given earlier (5D) as 1.22 ×packetsize/(round-trip delay×sqrt(average loss measured during lifetime of the connection)).

[0310] After step 1631 operations go to a step 1651. If in step 1625,value were greater than or equal to second threshold Th2, thenoperations go to decision step 1635.

[0311] In decision step 1635, the packet loss fraction value L is testedto see if it lies in the range from first threshold Th1 to secondthreshold Th2 inclusive. If yes, then operations go to a step 1641wherein intermediate NEWSTATE is filled with the values in the vectorSTATE. Together with a later step 1651, this operation 1641 maintainsthe current control state. If the decision in step 1635 is NO (out ofrange), or when step 1641 is completed, then operations pass to step1651. In step 1651 the vector STATE is filled with the values ofNEWSTATE.

[0312] Next in an output step 1661, the values of STATE are output ascontrol signals (sij, dij) to the encoder 321 of FIG. 3 and the encoder1551 of FIG. 15. Steps 1651 and 1661 thus implement transitions like 101and 413 (see FIG. 4) and other transitions discussed herein. From step1661 operations pass to a decision step 1671 whether to STOP. If not,then operations loop back to step 1611 and continue repeatedly asdiscussed above. If STOP is yes, then operations go to END 1681. STOPmay be responsive to disconnection of communications with the particulardestination, or to power off or to other conditions of a chip or systemas desired.

[0313] The herein-incorporated patent application TI-28893 providesfurther disclosure about how path diversity packets are added. Theemphasis of FIGS. 1, 3, 15, 16, 17 and 18 are on the adaptive controlfeatures of some process, integrated circuit and system embodimentswhereby source rate and diversity are either individually or jointlyinitiated, increased, decreased and terminated. The said adaptations areperformed according to a process embodiment in response to QoS-relateddata obtained from the network or from a destination monitoring process.The adaptively-determined sij and dij, or controls generated in arelationship to sij and dij in the manner of a function thereof orsubstantially correlated to them, are then used to start, stop andadjust the operations of the diversity software and hardware disclosedin herein-incorporated TI-28893 and the other disclosure herein.

[0314] In FIG. 17, system components are arranged to provide gatewayfunctions and combined with cellular phone base-station functions. Acommunication system 1701 interfaces to a PSTN (public switchedtelephone network) 1703, to a telephone 1705 (and PBX private branchexchanged connected to many wired and cordless telephones, notillustrated), to a fax machine 1707 and to cellular telephones 1709.PSTN 1703 is coupled via T1/E1 Framer 1711 to a DSQ Switch 1741.Telephone 1705 and Fax 1707 are coupled via a PCM Codec 1721 to the DSQSwitch 1741. Cellular telephones 1709 are coupled via a wirelesscommunications interface 1731 to the DSQ Switch 1741.

[0315] Further in FIG. 17, the DSQ switch 1741 couples the various typesof communications to a first port of a bank of one or more DSPs (digitalsignal processors, such as TI TMS320C6x or TMS320C54x DSPs) 1751, 1753,and so on to the Nth DSP 1755 in the DSP bank. Each DSP suitably hasassociated memory 1761, 1763, . . . 1765 respectively provided as anysuitable mix of volatile and nonvolatile memory selected by the skilledworker. The DSPs are connected via a second port of the bank to a bus1771 which couples them to a microcontroller 1781 that has its own RAMmemory 1783 and flash nonvolatile memory 1785. The microcontroller 1781communicates via a PHY, or Network Physical Interface 1791, to packetdata network 351 of FIG. 3.

[0316] In FIG. 17, one, some or all of the DSPs are improved foradaptive rate/diversity operation as described herein. Also, variousparts of the improvements described herein are suitably partitionedbetween the DSPs 1751, 1753, . . . 1755 and the microcontroller (MCU)1781 and stored on-chip and in the off-chip memories as desired. Variouspartitioning alternatives are contemplated. Also, the MCU is omitted inanother embodiment (not shown) and the various software blocks arepartitioned among execution units of one DSP or among multiple DSPs.

[0317] In FIG. 18, the improvements are illustratively partitioned sothat the RTCP is associated with MCU 1781 of FIG. 17 and therate/diversity control block 331 and lost packet compensation block 381(not shown but unprimed in sender 311 of FIG. 3) are provided in the DSPsoftware complement.

[0318] In FIG. 18, MCU 1781 of FIG. 17 is provided with a TCP/UDP/IPstack 1811 which further has MAC/ARP, Ethernet driver and other networkinterface protocol blocks. Further, network management software 1815 forMCU 1781 has a network management agent controlling and interfacing to afirst software block for embedded webserver HTTP (Hypertext TransferProtocol) and Java applications, a second software block for SNMPprotocol, Voice MIBs, and Protocol MIBs, and a third software block forTFTP software download. Still further, telephone signaling gatewaysoftware for MCU 1781 has call processing software, address translationand parsing software, and H.323 protocols including H.225 signaling,H.245 software, and RAS/RTCP software. The RTCP function in block 1819is coupled to the UDP function in TCP/UDP/IP stack 1811 and also coupledto the Packet Encapsulation unit in DSP 1511.

[0319] A DSP interface manager software block 1821 is coupled tosoftware blocks 1811, 1815, 1819 and 1823 and communicates with DSP 1511and the software blocks described in connection therewith.

[0320] MCU 1781 runs system software 1823 including RTOS (real timeoperating system such as Microsoft Windows CE or Symbian EPOC, as wellas DSP BIOS™ RTOS from Texas Instruments Inc.) System software 1823includes WDT driver software, flash memory manager, BSP software,development and self-test (IPQST) software, and software installationcode.

[0321] DSP 1511 has software in FIG. 18 improved as described in FIG. 15for adaptive rate/diversity in both the send and receive functions.

[0322] In other embodiments, as shown in FIG. 19, network 351 hascellular phone base stations 1911, 1913, 1915, 1917. Cell phone basestations 1911, 1913, 1915, 1917 are improved to be multimodal, receivinguser-selected packet voice or non-packet wireless voice from cell phones1921, 1923, 1925, 1931, 1933, 1935, 1937, 1939. Wireless two-waycommunications are established between pairs of units listed as orderedpairs (cell-phone, base station): (1921, 1915), (1933, 1915), (1925,1911), (1935, 1911), (1923, 1913), (1931, 1913), (1937, 1917), (1939,1917).

[0323] Some of the cell-phones 1921, 1923, 1925, and 1937 have a shadedrectangle, indicating for purposes herein improvements for adaptiverate/diversity as disclosed herein in their packet voice communicationsmode, for example as shown in any one or more of FIGS. 1, 3, 15-18.Other illustrated cell-phones 1931, 1933, 1935, 1939 lack theimprovements for adaptive rate/diversity as disclosed herein in theirpacket voice communications mode, and have no corresponding shadedrectangle in FIG. 19.

[0324] Some of the cell phone base stations 1911, 1923 have a shadedrectangle, indicating for purposes herein improvements for adaptiverate/diversity as disclosed herein in their packet voice communicationsmode, for example as shown in any one or more of FIGS. 1, 3, 15-18.Other illustrated base stations 1915, 1917 lack the improvements foradaptive rate/diversity as disclosed herein in their packet voicecommunications mode, and has no corresponding shaded rectangle in FIG.19. Even when no adaptive source rate/diversity control feature isprovided, as in the base stations 1915 and 1917, they do support boththe mobile Internet Protocol phones (IP-phones) wherein IP-packetizationsuitably occurs at the mobile IP-phone, as well as support conventionalwireless mobile phones.

[0325] Personal computer (PC) telephony units 1951 and 1953 haverespective microphones and speakers, and these units 1951 and 1953 havemodems of any suitable type, such as voice-band V.90, DSL (digitalsubscriber line), cable modem, wireless modem, among other choices.Personal computer (PC) telephony units 1951 and 1953 are respectivelycoupled to the network 351 via gateways 1961 and 1963 respectively. Thegateways are suitably located in a private branch exchange or in atelephone central office, or in the office of an ISP (Internet ServiceProvider) or in the office of a private commercial network, for example.IP-packetization occurs at the PC telephony units 1951 and 1953. Theadaptation is end-to-end such as when phone at source has therate/diversity control block and the phone at destination has a block tosend QoS data back as well as to couple diverse packet information tothe decoder for improved QoS.

[0326] For placing phone calls over the Internet, user voice goes inthrough microphone, then is processed in the computer by the mainmicroprocessor, microcontroller, and DSP for vocoding and rate/diversityadaptation as in FIG. 3. Even if the access of the PC telephony unit isconnected via voice-band modem to telephone central office and then toInternet service provider, the rate/diversity adaptation software issuitably provided in the PC telephony unit or wherever therate/diversity adaptation software is suitably installed to adaptivelyproduce diversity packets or dependent packets and/or to control thestate of a voice encoder or audio compressor or image compressor orother media coder.

[0327] Adaptive rate/diversity improvements in an integrated circuit,software and system are suitably provided in an Internet mobile terminalsuch as an Internet appliance or mobile phone, cell phone or cordlessphone with Internet or other packet network capability.

[0328] Cell phone base stations 1915, 1917 and 1911 are respectivelycoupled to IP packet network 351 via PSTN blocks 1971, 1973 and 1975respectively. Each of the PSTN blocks 1971 and 1973 has a gatewaytherein to connect the call to the packet network 351. The gateways inPSTN blocks 1971 and 1973 suitably have adaptive rate/diversityembodiments included therein. Thus, rate/diversity adaptation modulessuitably are sited in the gateways and base stations of the system ofFIG. 19. For example, base stations 1911 and 1923 are directly connectedto packet network 351 by their own adaptive rate/diversity packetinterface software and software stacks, all as taught herein in thepresent patent application and the incorporated TI-28893P.

[0329] A gateway GW 1981 couples network 351 to PSTN 1983 to whichtelephones (not shown) are coupled via a PBX 1985. Also, one or moreindividual telephones 1987 are directly connected to PSTN 1981. Furtherin FIG. 19, a LAN has nodes 1991 and 1993 coupled to network 351. Acomputer 1995 is connected to node 1993.

[0330] Integrated circuits into which the adaptive rate/diversityimprovements are suitably manufactured include DSP (digital signalprocessor) from Texas Instruments and other companies offering DSPintegrated circuits. Other integrated circuits suitable for the adaptiverate/diversity improvements include host microprocessor such as Intel'sPentium®, Pentium II®, Pentium III®, Celeron®, Xeon® and IA-64microprocessors, AMD K6 and K7 microprocessors, National MediaGX andother microprocessors, and microcontrollers such as ARM and StrongARMseries, MIPS series, Intel i960, Motorola Mcore and PowerPC integratedcircuits, among many others. Still other integrated circuits which arecontemplated for adaptive rate/diversity improvements includenonvolatile memories such as ROM, EPROM, EEPROM, Flash memory, EAROM,and FeRAM (Ferroelectric random access memory). Volatile memories suchas DRAM, synchronous DRAM (SDRAM), R-DRAM (Rambus DRAM), DDR-DRAM, andother variants suitably also have a logic section or non-volatilesection incorporating the adaptive rate/diversity improvements builtinto them as taught herein. In yet other embodiments, the adaptiverate/diversity improvements are loaded onto or manufactured into rigiddisk drives, hard disk drives, and also various media such as floppyinsertable disks, CD-ROM optical storage media, and/or chips in the readcircuitry or other circuitry of drives for such storage media. Also,chipsets associated with processors suitably are in improvementembodiments made to have adaptive rate/diversity improvementsmanufactured into them, such as the Intel “440xx” series of chipsets,sometimes known as North Bridge and South Bridge chips, and the chipsetsof other chipset manufacturers. (Chipsets of this type are also suitablyimproved with digital signal processors, as taught in any one or more ofthe coassigned pending patent applications (TI-21753 and TI-25535) whichare hereby incorporated by reference. The DSP suitably runs the adaptiverate/diversity improvements. In other versions, the adaptive softwareruns on the host microprocessor such as Pentium series or IA-64 series,or partitioned with part of the software on a DSP coupled to the hostmicroprocessor(s) in the computer system.

[0331] Also, the rate/diversity adaptation can be provided at thetelephone central office gateway. Also, rate/diversity adaptation can beput in a router in a packet network to improve it there.

[0332] Even more advantageously, when the adaptation is end-to-end andthe units at both ends have at least the adaptation software, the mobilephone or desktop or notebook PC telephony unit adapts for advantageouslysatisfactory QoS.

[0333] As discussed further, an improved cell-phone base station (andalso a gateway improved similarly) runs multiple packet voice moduleswith an inventive embodiment for each mobile telephone using the basestation at a given time.

[0334] Some improvement embodiments are intended for gateways, wherein aimproved gateway embodiment runs multiple packet voice modules with aninventive process, chip and system embodiment working in the gatewayitself to adaptively control source rate and diversity rate foradvantageous QoS for each telephone using the gateway at a given time.

[0335] In other embodiments, a base station itself is not only improvedto be multimodal, supporting both the mobile Internet Protocol phones(IP-phones) and conventional mobile phones. But also, the improved basestation embodiment runs multiple packet voice modules with an inventiveprocess, chip and system embodiment working in the base station itselfto adaptively control source rate and diversity rate for advantageousQoS for each cell-telephone communicating speech in non-packet form tothe base station at a given time. Then the base station itself and notnecessarily the cell-phone codes or recodes the speech and packetizes itwith an inventive process, chip and system embodiment working toadaptively control source rate and diversity rate for advantageous QoSover a packet network to which the base-station is in turn connected.

[0336] Numerous combination embodiments and paths of advantageousoperation are conveniently identified in FIG. 19 using sequencesapparatus numerals to name them. For example, a communication path1921-1915-1961-1951 has the improved adaptive VOP in the terminalhandset or PC IP phones but not in the base station or gateway. Path1935-1911-1913-1931 has improved VOP in the base stations but not in theterminal handsets. Robustly, still other paths and embodiments like1925-1911-1913-1923 have improved adaptive VOP both in the terminalhandset and in the base stations. Here the adaptive VOP blocks worktogether or one defers to another as the skilled worker suitably electsto implement. The adaptive VOP blocks are advantageously upwardlycompatible, so that an improved elements 1921, 1911, 1951, or 1963 forsome examples, can talk to unimproved elements such as 1933, 1917, 1961or 1939 and vice versa. Still other combinations and paths are presentin FIG. 19 and important to peruse, but for conciseness do not appear toneed tedious further explanation.

[0337]FIG. 20 shows a RTCP packet as discussed earlier hereinabove.

[0338]FIG. 21 shows QoS processing timing as discussed earlierhereinabove.

[0339]FIG. 22 shows a state transition diagram of a state diagram forhereinabove-described Type 5CB QoS level measure computations andAdaptation Logics.

[0340] In FIG. 23, a state diagram for rate/diversity adaptation processand apparatus has example states (sij, dij) as already discussed inFIG. 1. In FIG. 23, however, the state transitions operate differently.When operations are in state (s11,d11), e.g. (16.0, 0.0) and criterion Fnot only exceeds Threshold1 but also aggressive trigger level A, then atransition 2211 goes from (s11,d11) to state (s32,d32), e.g., (5.7,2.3)kbps of source rate and diversity rate respectively. Another transition2215 is discussed later hereinbelow. After transition 2211, operationsremain at state (s32,d32) unless and until criterion F becomesameliorated and falls below Threshold2, whereupon a state transition2221 to state (s22,d22) e.g., (8.0,3.2). By transition 2221, source rateis increased, and diversity rate is also increased, and their sum(overall transmission rate) is increased. Operations remain at state(s22,d22) unless criterion F continues to be below Threshold2, or incase criterion F rises and later falls below Threshold2. Thereupon astate transition 2223 transfers the system to state (s12,d12) e.g.,(11.2,4.8). By transition 2223, source rate is increased, and diversityrate is also increased, and their sum (overall transmission rate) isincreased. Operations remain at state (s12,d12) unless criterion Fcontinues to be below Threshold2, or in case criterion F rises and laterfalls below Threshold2. Thereupon a state transition 2225 transfers thesystem to state (s11,d11) e.g., (16.0,0.0). By transition 2225, sourcerate is increased, but diversity rate is decreased to zero, and theirsum (overall transmission rate) is maintained unchanged at 16.0 kbps.Transition 2225 thus increases source rate and turns off the diversityfeature. This turnoff is suitably accomplished in some embodiments byterminating the path diversity connection, and suitably accomplished inother embodiments by holding the path diversity connection open forinstant use in case another transition 2211 is needed, but nottransmitting any voice packets over it. Engineering economics and delayin disconnection and connection operations are suitably considered inselecting the type of embodiment to use there.

[0341] When operations are in state (s11,d11), e.g. (16.0, 0.0) andeither a gatekeeper request GK=1 or Buffer Occupancy BFR=1 occurs, thenadaptive source rate measures are employed without diversity measures,in this example. In such case, a transition 2215 goes from (s11,d11) tostate (s31,d31), e.g., (8.0,0.0) kbps of source rate and no diversityrate. After transition 2215, operations remain at state (s31,d31) unlessand until both the gatekeeper request is turned off and the BufferOccupancy condition is not present, i.e. GK=0 AND BFR=0. At that point,state transition 2231 takes the system from state (s31,d31) to state(s21,d21) e.g., (11.2,0.0). By transition 2231, source rate isincreased, and diversity remains off. Operations at state (s21,d21) pollthe gatekeeper and buffer for updated status information. Thenoperations remain at state (s21,d21) unless the GK and BFR remain off,or in case GK or BFR go on again and later become both off, i.e. GK=0AND BFR=0. Thereupon a state transition 2233 transfers the system tostate (s11,d11) e.g., (16.0,0.0). By transition 2233, source rate isincreased, and diversity rate remains disabled or at zero, and their sum(overall transmission rate) is increased. Operations remain at state(s11,d11) unless criterion F causes aggressive transition 2211 of FIG.23 or moderate transition 101 of FIG. 1 or unless GK or BFR go on againto cause transition 2215 of FIG. 23.

[0342] The processes and systems of FIGS. 1 and 23 importantly introducenew criteria for transition, as in steps 101 combined with 2211 forinstance, and combine the new criteria for transition with discretestates (sij,dij). Advantageously, the use of discrete states with thesenew criteria reduces the incidence of false alarms and oscillations.

[0343] Note that the state transition diagrams of FIGS. 1, 22 and 23compactly show advantageous features of some embodiments. Further notethat the flowcharts of FIGS. 16, 24, 25 and 26 show some of the samethings as the state transition diagrams and also further advantageousfeatures of processes, devices and systems as taught herein.

[0344]FIG. 24 shows a process for implementation in software media,integrated circuits, printed circuit cards, personal computers,networked appliances and other network edge-device computers, cell phonebase stations, servers, routers, gateways and other apparatus. Thisprocess supports conferencing and multicasting.

[0345] The adaptive rate/diversity improvements are suitably implementedin conferencing, broadcast, unicast, and multicast devices and processessince UDP universal datagram protocol, RTP real-time transport protocoland RTCP and other protocols now available or yet to be devised areuseful for supporting these services.

[0346] Broadcast with path diversity is described in connection withincorporated patent application TI-28893P FIG. 11. Conventionalbroadcast replicates the process of a single unicast connection fromsource to destination so that communication of a media stream isdirected to many destinations. Improving upon conventional broadcast,adaptive rate/diversity processes as taught herein are replicated sothat the media stream takes diverse packets to each of manydestinations, and adaptive control of rate and time or path or combinedtime/path diversity as taught herein is applied to the communicationseach by each.

[0347] Multicast with path diversity is described in connection withincorporated patent application TI-28893P FIG. 12. Conventionalmulticasting fans out a media stream from a source farther out in thepacket network so that communication of a media stream is directed tomany destinations. Improving upon conventional multicast, adaptiverate/diversity process as taught herein is applied to thecommunications. The situation differs from adaptive rate/diversitycontrol of improved broadcasting as described in the previous paragraphbecause rate/diversity adaptation of a given media stream at the source1111 of TI-28893 FIG. 12 affects plural destinations. When the pluraldestinations are experiencing different levels of QoS as reported intheir RTCP packets sent back to source 1111, then the rate/diversityadaptation thus can be faced with conflicting QoS information toreconcile in making an adaptation transition such as 101 of FIG. 1.

[0348] Before proceeding further, note an example process context inFIG. 24. Operations commence at a. BEGIN 2401 and proceed to establishan initial state (s11,d11) in a step 2411. Next a step 2421 inputs RTCPreport packets, but now from multiple destinations. A step 2431generates information called herein a “report datum” for eachdestination, in some embodiments. Next a step 2441 generates a valuefrom the “report data” collectively. This special value is called MQoS,motivated by but not limited to a concept of a Multicast QoS. Then thespecial MQoS value is used in place of Loss Fraction L in a step 2451 todrive the adaptive rate/diversity process steps at the sender which arecollectively called process 2461. Process 2461 includes the steps 1623through 1671 of FIG. 16 used in the particular part of FIG. 24identified by numeral 2461. The process 2461 selectively and adaptivelyupdates the NEWSTATE when appropriate and operations loops back to step2421 to input more RTCP report packets as the process goes forward intime. When process 2400 is to be turned off, operations go from STOPdecision step 1671 to RETURN 2471.

[0349] The operations of steps 2441 and 2431 are next described inconsiderable detail. Note that there are many alternative ways of doingeach of them, and an outline format is used to facilitate the detaileddescription.

[0350] Accordingly, several embodiments of adaptive rate/diversitycontrol of improved multicasting are contemplated. As noted hereinabove,rate/diversity adaptation of a given media stream at the source 1111 ofTI-28893 FIG. 12 affects plural destinations. QoS reports come back tosource 1111 from the various destinations for each portion in a seriesof portions comprising the transmission from source 1111. The QoSreports from the various destinations for a given portion of thetransmission are combined into one or more herein-defined “MulticastQoS” evaluation numbers in FIG. 24 step 2441 to drive the rate/diversityadaptation processes. Multicast QoS (MQoS) is variously defined fordifferent process and device embodiments next. (The value of S, meaningestimated steady state overall transmission rate as in step 1631, isalso chosen in a similar manner to compute what is herein called“Multicast S”. In other words, use the information from each destinationto compute an S value for that destination. Then, in a manner preciselyanalogous to any selected one of the MQoS calculations below, computethe Multicast S from the S values).

[0351] A. In a first method, the QoS reports from the variousdestinations for a given portion of the transmission are combined into asingle herein-defined “Multicast QoS” evaluation number in step 2441 todrive the rate/diversity adaptation processes. In other words, MulticastQoS (MQoS) is defined for each corresponding transmission portion suchas activity in a 5-second interval described by an RTCP report packet.The step 2431 of FIG. 24 simply uses the Loss Fraction datum in one RTCPreport packet as a report datum (or computes criterion F from data likeLoss Fraction and Delay Jitter in one RTCP report packet) or computescriterion F using QoS computation methods described with reference toFIGS. 1 and 23 for instance.

[0352] A1. The MQoS in step 2441 depends on what happens to fewer thanall of the destinations

[0353] A1a. The MQoS depends on what happens to a majority of thedestinations. Example: For the 37^(th) RTCP packet, QoS values came backfrom 150 out of 155 destinations. The A1a embodiment is programmed tofind the value of a statistic based on the QoS values from the best-QoSreporting X% of the 155 destinations, e.g., (say 90% of them), the best140 (=155×0.90) out of the 150 QoS values.

[0354] A1ai. MQOS=average of the best reporting X%

[0355] A1aii. MQoS=minimum of the best reporting X%

[0356] A1aiii. MQoS=median of the best reporting X%

[0357] A1aiv. MQoS=average of the worst reporting Y%

[0358] A1av. MQoS=minimum of the worst reporting Y%

[0359] A1avi. MQoS=median of the worst reporting Y%

[0360] A1avii. MQoS=maximum of the worst reporting Y%.

[0361] A1b. The MQoS depends on what happens to selected ones of thedestinations. Example: For the 23rd RTCP packet, QoS values came backfrom 205 out of 324 destinations. The A1b embodiment is programmed tofind the value of a statistic based on the QoS values disregarding thebest-QoS reporting X% of the 324 destinations and disregarding theworst-QoS reporting Y% of the 324 destinations. MQoS=average of 20percentile to 90 percentile loss fraction RTCP reports.

[0362] A1c. The MQoS depends on randomly selected ones of thedestinations. Example: For the 147th RTCP packet, QoS values came backfrom 2000 out of 3000 destinations. The A1b embodiment is programmed tofind the value of a statistic based on a random sample of N=100 of the2000 QoS values. Then the processes apply a statistical computationaccording to any of the following alternatives:

[0363] A1ci. MQoS=average of the N selected QoS values

[0364] A1cii. MQoS=minimum of the N selected QoS values

[0365] A1ciii. MQoS=median of the N selected QoS values

[0366] A1civ. MQoS=average of the selected QoS values, but leaving outtheir top X% and bottom Y%.

[0367] A2. A rate/diversity adaptation decision step depends on a MQoSstatistic based on all the destinations' reports of QoS received backfor the given transmission portion.

[0368] A2a. The statistic is the median QoS. Example: For the 7^(th)RTCP packet, QoS values came back from 150 destinations out of 180destinations. The loss fraction values varied from 0.2% to 12%, mostlyaround 3%. 2.8% loss fraction was the median value. MQoS=2.8%.

[0369] A2b. The statistic is the QoS of the destination at the nthpercentile of QoS. Example: For the 17^(th) RTCP packet, QoS values cameback from 138 destinations out of 180 destinations. The embodiment isprogrammed to find the 30^(th)percentile as indicated by listing thereports in loss fraction order. Example: The loss fraction values variedfrom 0.2% to 12%, mostly around 3%. The 30^(th) percentile value was6.2%. MQoS=6.2%.

[0370] A2c. The statistic is the average QoS. Example: For the 24^(th)RTCP packet, QoS values came back from 155 destinations. The embodimentis programmed to find the arithmetic mean or average QoS. Example: Theloss fraction values varied from 0.2% to 12%, mostly around 3%. Thearithmetic mean was 3.3%. MQoS=3.3%.

[0371] A2d. The statistic is the minimum QoS of any destination.Example: For the 33rd RTCP packet, QoS values came back from 125destinations. The loss fraction values varied from 0.2% to 12.2%, mostlyaround 3%. The minimum QoS was 12.2% loss fraction. MQoS=12.2%.

[0372] B. In a second process type, the QoS reports from the variousdestinations for two or more portions of the transmission are combinedinto a single herein-defined “Multicast QoS” evaluation number to drivethe rate/diversity adaptation processes. Two or more RTCP packets fromthe same destination are used to generate each report datum byaveraging, median, minimum or other statistic, and step 2431 becomesmore detailed. If only one RTCP packet from a given destination comesback when a most destinations are reporting back three for the givenprocess, then the report datum is the value of that RTCP packet. Thereport data thus derived destination by destination are used accordingto any of the A-numbered processes to generate MQoS by step 2441 of FIG.24, according to a correspondingly B-numbered embodiment.

[0373] Example Embodiment B2a: The statistic is the median QoS. Example:For the 7^(th) through 12th RTCP packets, QoS values came back from 150destinations. Each set of six RTCP packet Loss Fraction values for agiven destination was averaged to produce a report datum for thatdestination. The report data varied from 0.5% to 7%, mostly around 3%.2.9% loss fraction was the median value. MQoS=2.9%.

[0374] A tedious description of other B-type embodiments is suitablygenerated by following the directions of the previous paragraph, whichis believed to amply disclose the subject matter of numerous B-typeembodiments.

[0375] Other QoS level measures and adaptation logics are suitablycombined with the teachings and figures shown herein.

[0376]FIG. 25 illustrates software to implement each of steps 1621, 1623and 1629 of FIG. 16. In FIG. 25, after a BEGIN, operations go to a step2511 to determine whether a diversity flag is on. If not, then sourcerate sij is decreased in a step 2515. Next after step 2515, a step 2521sets, or turns on, the diversity flag. Then a step 2531 calls adiversity routine to create diversity packets. Then a step 2541 updatespacket header diversity fields and dependency information appropriately.Those features of the packet are described in TI-28893 for pathdiversity. Then a RETURN 2571 is reached.

[0377] If in step 2511 the diversity flag is already on, then operationsbranch to a step 2551 to vary the source rate and diversity aspects ofthe coder. Then in step 2561, the packet header is updated in thedependency information and diversity fields to correspond to the changesmade by step 2551, whereupon RETURN 2571 is reached.

[0378] In FIG. 26, step 1631 of FIG. 16 commences and goes to an inputstep 2605. In step 2605, information specifying a steady state overalltransmission rate S is either estimated locally or input from a networkelement. Next, operations go to a decision step 2611 to determinewhether the diversity flag is on. If so, operations go to a decisionstep 2621 to determine whether the overall transmission rate sij+dij isequal to estimated steady state overall transmission rate S from step2605, e.g., 11.2. If an estimated steady state overall transmission rateS value is not available, then a maximum amount (e.g., 16.0) is used forS by default. If so, then operations turn off (reset) the diversity flagin a step 2631. Next a step 2641 calls the diversity routine to reducediversity. Then a step 2651 updates packet header diversity fields anddependency information appropriately. Those features of the packet aredescribed in TI-28893 for path diversity, and the path diversity routineis described in FIG. 18 therein. Then a RETURN 2681 is reached.

[0379] If in step 2621, the overall transmission rate is below value S,then operations branch to a step 2661 to change both the source rate anddiversity (and suitably the path diversity method of the PacketTransmission Table of TI-28893 and other diversity methods) withoutclosing down the diversity feature. Then operations go to step 2651 toupdate packet header as described above.

[0380] If in step 2611, the diversity flag is off, then operationsbranch to a step 2671 to increase the source rate only, whereupon RETURN2681 is ultimately reached.

[0381]FIG. 27 shows how adaptive multipath routing is combined withadaptive rate/diversity to form a new combination process for integratedcircuits, and systems of all kinds. In one embodiment, diverse paths viathree particular proxies are identified as described in incorporatedTI-28893, FIGS. 18-25. A first path via the first proxy is maintainedthroughout a communications connection. A second path is established viathe second proxy, but when packet loss becomes unacceptable the secondpath is reestablished via the third proxy. In another more complexembodiment of FIG. 27, the multipath routing process seeks asatisfactory path and may switch adaptively from one path to another.Concurrently, the multipath routing process has its source rateadaptively varied. Also concurrently, the multipath routing process hasone or more additional adaptive multipath routing process “siblings”seeking a respective second satisfactory path for diversity packets andswitching adaptively from one second path to another. Advantageously, apath diversity receiving process implemented in the destination operatesas shown and described in connection with FIGS. 5, 17 and 26 ofincorporated patent application TI-28893 and/or as elsewhere describedtherein. In this way, complex and hard-to-solve network congestionproblems are addressed by improved embodiments as illustrated by FIG.27.

[0382]FIG. 28 supplements the software blocks of FIG. 18 by adding ATM(asynchronous transfer mode), AAL (ATM Adaptation Layer) and Frame RelaySoftware coupled to the IP block in a TCP/UDP/IP software stack.

[0383] In FIG. 29, a local software application of rate/diversitycontrol switches between states within the same oval (same overalltransmission rate). Thus, diversity allocation is done by the DSPsoftware application.

[0384]FIG. 29 also illustrates the concept that not just two, but threeor even more states per rate oval are suitably introduced. One state peroval has source rate only, with no diversity. Another state per oval haspackets with a source rate and a diversity packet with its diversityrate. A third state per oval has packets with a source rate, plus twodiversity packets with respective diversity rates. Various examples of athird state are shown in FIG. 6, diversity packets 621, 631 and 641.Furthermore, path diversity alternatives are illustrated in theincorporated patent application TI-28893 such as in the PacketTransmission Table therein.

[0385] In a complementary way, the network advantageously controlsoverall transmission rate, so that transitions between ovals in FIG. 29are under network control, such as by a gatekeeper.

[0386] In FIG. 29, operations suitably begin at state (16,0) at left. Anestimation EST of network congestion is computed by network or by senderor by receiver to determine whether to make a high priority source rateadjustment. If operations are in any of the state of the 16 kbps ovaland EST=8, then a transition goes from the originating 16 kbps state tostate (4.0,1.7,2.3) on far right. If EST is neither of 11.2 or 8 then noEST driven transition is executed. If EST=11.2 as signaled by thenetwork (or alternatively estimated by sender or receiver), then atransition goes from the originating 16 kbps state to state(5.7,2.3,3.2).

[0387] If at any 11.2 kbps state estimation EST=8, then a transitiongoes from the originating 11.2 kbps state to state (4.0,1.7,2.3). IfGK=0 AND BFR=0 is signaled by the network, then a transition goes fromany originating 8 kbps state back to state (5.7,2.3,3.2) provided that aratio R is also less than or equal to a threshold Th3. For example, R isthe ratio of estimated steady state overall transmission rate divided bycurrent overall transmission rate. Th3 suitably lies in a range of 1.5to 4.0, and a value of 3.0 is suitable. Estimated steady state overalltransmission rate S is that rate which the network signals is nowavailable or which test algorithms at sender or receiver indicate is nowavailable. Rate S is suitably computed as in the discussion of FIG. 16step 1631.

[0388] If at any 11.2 kbps state, GK=0 AND BFR =0 is signaled by thenetwork, then a transition goes from the originating 11.2 kbps state tostate (8,3.2,4.8). If at any 8 kbps state, network conditions indicategreatly lessened congestion, then an aggressive recovery to state(8,3.2,4.8) is desirable. In FIG. 29, criterion (R>Th3) AND (GK=BFR=0)triggers a transition from any originating 8 kbps state to state(8,3.2,4.8) when the criterion is met.

[0389] Within a given oval, DSP software determines from QoS reportswhether to make transitions to add diversity, relax diversity, orrelease diversity. Starting at state (16,0), a determination thatA≧F>Th1 adds diversity and takes operations to a state (11.2,4.8).However, starting at state (16,0), if F>A>Th1, then operations adds twostages of diversity and goes to a state (8.0, 3.2,4.8). Starting atstate (11.2,4.8), a determination that F>Th1 adds further diversity andtakes operations to state (8.0,3.2,4.8). If QoS becomes ameliorated,such that F<Th2, then operations are transitioned from state (8.0,3.2,4.8) to state (11.2,4.8) and/or from state (11.2,4.8) to state(16,0) as shown.

[0390] Starting at state (11.2,0), a determination that A≧F>Th1 addsdiversity and takes operations to a state (8.0,3.2). However, ifF>A>Th1, then starting at (11.2,0) operations become more aggressive andadd two stages of diversity and go to a state (5.7,2.3,3.2). If F>Th1continues (unacceptable QoS) at state (8.0,3.2), then operations adddiversity and go from state (8.0,3.2) to the state (5.7,2.3,3.2). If QoSbecomes ameliorated, such that F<Th2, then operations are transitionedfrom state (5.7, 2.3,3.2) to state (8.0,3.2) and/or from state (8.0,3.2)to state (11.2,0) as shown.

[0391] Starting at state (8.0,0), a determination that A≧F>Th1 addsdiversity and takes operations to a state (5.7,2.3). However, ifF>A>Th1, then starting at (8.0,0), operations become more aggressive andadd two stages of diversity and go to a state (4.0,1.7,2.3). If F>Th1continues (unacceptable QoS) at state (5.7,2.3), then operations adddiversity and go from state (5.7,2.3) to a state (4.0,1.7,2.3). If QoSbecomes ameliorated, such that F<Th2, then operations are transitionedfrom state (4.0,1.7,2.3) to state (5.7,2.3) and/or from state (5.7,2.3)to state (8.0,0) as shown.

[0392] With the use of ratio R in the transition criteria, overalltransmission rate changes from low rate ovals are advantageouslyarranged to be larger than rate changes on return transitions betweenhigher rate ovals. Thus, successively smaller increases in rate areachieved with finer increases as higher rates (and attendant networkburden) are approached.

[0393]FIG. 30 shows a histogram of frequency in percent versus number #of consecutive packet losses in a window time interval such as 5seconds. The instances of packet losses are tabulated zero (no loss)where a packet is received, one (1: only one packet lost and not two ormore consecutively), two (2: two packets lost consecutively and not 3 ormore consecutively), three (3: three packets lost consecutively and not4 or more consecutively) and four plus (4+: four or more packets lostconsecutively).

[0394] The histogram information is here recognized as quite useful forrate/diversity adaptation purposes. Even though the packet loss ratemight be the same in two different cases, the aggressiveness ofadaptation measures is suitably made more aggressive if the histogram ismore populated with higher numbers of packets lost consecutively.

[0395]FIG. 31 shows a state transition diagram for implementingselectively aggressive measures based on the histogram information ofFIG. 30. The receiver 361′ of FIG. 3 collects the information of thehistogram and acts upon it directly, or sends the information of thehistogram back to sender 331 for rate/diversity adaptation in sender331.

[0396] In FIG. 31 operations suitably are arranged to begin at a highsource rate and low (or zero) diversity state (s11,d11). Differentcriteria called z1 and z2 cause respectively moderate and aggressiveadaptation measures based on the consecutive packet loss histograminformation. If z1 occurs, then operations go from state (s11,d11) toreduce source rate and introduce an amount d22 of single diversity atstate (s22,d22). This is the moderate adaptation.

[0397] If z2 occurs, then operations instead go from state (s11,d11) toreduce source rate and introduce two amounts of diversity d42,e42 atstate (s42,d42,e42). This is the aggressive adaptation.

[0398] Criterion z1 is suitably established as (A≧F>Th1) AND frequencyof two-consecutive-losses-or more is Th2 or less.

[0399] Criterion z2 is suitably established as (F>A>Th1) OR frequency oftwo-consecutive-losses-or more exceeds Th2.

[0400] If and when QoS becomes ameliorated, such that a criterion z3 ismet, then operations are transitioned from state (s42,d42,e42) to state(s22,d22), and/or from state (s22,d22) to state (s12,d12), and/or fromstate (s12,d12) to state (s11,d11) as shown.

[0401] Criterion z3 is suitably established as (F<Th3) AND frequency oftwo-consecutive-losses-or more is less than a threshold Th4.

[0402] Th1 is suitably made 3%, Th2 is suitably 2%, Th3 is suitably 0.5%and Th4 is suitably 0.25%. The skilled worker suitably tunes thethresholds. Also, an automated tuning process suitably varies thethresholds over illustrative ranges 1-5% for Th1 and Th2, and over 0% to2% for Th3 and Th4 for most satisfactory adaptation operation.

[0403] Note among other advantageous features of the process of FIG. 31that the return transition from state (s42,d42,e42) to state (s22,d22)is suitably made to be a larger transition in overall transmission ratethan the subsequent return transition from (s22,d22) to (s12,d12) andthence to (s11,d11). In this way, a smoother servo homing behavior isachieved.

[0404]FIG. 31 is interpreted in light of the embodiments and transitioncriteria earlier discussed herein, and it should be apparent thatnumerous embodiments varying the arrangements illustrated in FIG. 31 arealso contemplated based on mixing and matching various criteria fromother embodiments.

[0405]FIG. 32 illustrates process, device and system embodimentsapplying a further concept of varying the number of frames per packet(frm/pkt) by transition from a state 3211 (1 frm/pkt) to a state 3221 (2frm/pkt) when A≧F>Th1. When F>A>Th1 in state 3211, a more aggressiveadaptation transition to a state 3231 (3 frm/pkt) occurs.

[0406] Bracketed sets of packets illustrate the meaning of each state.State 3211 corresponds to transmission of packets in a series of packetseach with a header H and a payload comprising one frame of compresseddata, sent at a certain number of packets per second and a certainnumber of frames per second.

[0407] A second state 3221 involves transmission of packets in a seriesof packets each with a header H and a payload comprising two frames ofcompressed data sent suitably (but not necessarily) at the same numberof frames per second as in state 3211, but at a different and fewernumber of packets per second. Notice that a brace indicates 3 payloadframes corresponding to comparable information distributed differentlyamong packets depending on which state is used.

[0408] A third state 3231 involves transmission of packets in a seriesof packets each with a header H and a payload comprising three frames ofcompressed data sent suitably (but not necessarily) at the same numberof frames per second as in state 3211, but at a different and stillfewer number of packets per second. Notice that 3 payload frames areincluded in the same one packet with its one header when state 3231 isused.

[0409] Return transitions occur when criterion F<Th2. One returntransition takes operations from state 3231 to state 3221. Anotherreturn transition takes operations from state 3221 to state 3211.

[0410] Note that the criteria for transition are suitably selectedaccording to any of the various embodiments elsewhere described herein.

[0411] The variable frames-per-packet embodiments are suitably augmentedwith time or path or combined time/path diversity as shown in FIG. 33.Note that ovals surround states that have the same overall transmissionrate sij+dij. Suppose a transmission rate of header bits is 8 kbps ofoverhead (ovhd), for example, when the source rate is 16.0 kbps with oneframe per packet. Then in other ovals the transmission rate overhead ofheader bits is the 8 kbps base rate divided by the number of frames perpacket. So ovhd=4 kbps at 2 frm/pkt, and ovhd=8/3 kbps at 3 frm/pkt.

[0412]FIG. 33 illustrates process, device and system embodimentsapplying diversity and variable number of frames per packet (frm/pkt)using multiple description (MD) technology. In FIG. 33 operationstransition from a state 3211 (1 frm/pkt, 16 kbps source rate, zerodiversity rate) to a state 3325 (2 frm/pkt, (5.6 kbps source rate, 5.6kbps diversity rate)) when A≧F>Th1. When F>A>Th1 in state 3211, a moreaggressive adaptation transition to a state 3335 (3 frm/pkt, (4 kbpssource rate, 4 kbps diversity rate)) occurs.

[0413] Further in FIG. 33, a network condition GK=1 OR BFR=1 occurringwhen operations occupy state 3211, transitions the operations to a state3221 (2 frm/pkt, 11.2 kbps, zero diversity).

[0414] Return transitions occur when criterion F<Th2. One returntransition takes operations from state 3335 to state 3325. Anotherreturn transition takes operations from state 3325 to a state 3315 (1frm/pkt, 8 kbps source rate, 8 kbps diversity rate). Another returntransition takes operations from state 3315 to state 3211.

[0415] Flow diagrams of some processes for control of frames/packet arethe same as FIG. 16 except the update-NEWSTATE steps 1621, 1623, 1629and 1631 are programmed for frames per packet control. Thus, FIG. 25steps 2515 and 2551 are enhanced by incrementing frames/packet therein.Also, FIG. 26 steps 2661 and 2671 are enhanced by decrementingframes/packet control bits to control RTP packet encapsulation 341 ofFIG. 3 and packet encapsulation unit 1571 of FIG. 15. Packet headers aresuitably updated with new frames/packet information as desired in steps2541, 2561 and 2651.

[0416] Again, other criteria for the transitions as described elsewhereherein are suitably employed. Each of the types of time diversity, pathdiversity, and time/path diversity as described herein and in theincorporated TI-28893 are contemplated for use in various embodiments.

[0417] Note that changing number of frames per packet, it may beadvisable in some embodiments to make the frm/pkt transition only duringa silence period following a talkspurt featuring unacceptable QoS. Otherembodiments suitably make frm/pkt transition during a talkspurt withoutrestriction.

[0418] Another embodiment performs a hybrid frame/packet adaptation:frame/packet increase occurs during both silence periods and activespeech, but frame/packet decrease occurs during silence periods only.Steps 2515, 2551, 2661 and 2671 are correspondingly improved bypreceding them with tests for presence of a talkspurt flag or a silenceflag, so that the transitions occur according to the just mentionedlogic embodiments that depend on silence only, or talkspurt, or duringeither silence or talkspurt. If the required test is not met, therespective step 2515, 2551, 2661 or 2671 is bypassed, and if the test ismet the respective said step is performed.

[0419] Also, note a possible effect on some diversity methods whenchanging number of frames per packet. Suppose, for example, that a timediversity P(n)P(n−1)′in one packet is changed to P(n)P(n−1)′ P(n+1)P(n)′by changing to more frames per packet. If the longer packet is lost,both P(n)′ and P(n) are lost, meaning that all of the nth information islost. Accordingly, some embodiments suitably change to a diversitymethod that is resistant to packet loss concurrently with (or at leastclose in time to) a transition from one number of frames per packet to ahigher number of frames per packet.

[0420] Gateways, wireless base stations, private branch exchanges,networked appliances and other applications are suitably enabled byadaptive rate/diversity controls, chips, chipsets, printed circuitcards, and subsystems disclosed herein. Recoder and/or transcodingprocesses recodes or transcode the information and produces an outputcompressed and coded according to a different form than was received bya given device. It is contemplated that devices, processes and systemsare suitably cascaded and integrated for various telecommunication andnetworking purposes. Where many channels are processed simultaneously,the systems are suitably replicated or multiplexed to the extentdesired, so that software and hardware are effectively, efficiently andeconomically employed. Where blocks are shown herein, they are suitablyimplemented in hardware, firmware or software in any combination. Theembodiments described are merely illustrative, while the scope of theinventive subject matter is defined by the claims and equivalentsthereof.

What is claimed is:
 1. A process of sending packets of real-timeinformation comprising the steps of: initially generating at a senderthe packets of real-time information with a source rate greater thanzero kilobits per second, and a diversity rate, the diversity rateinitially being at least zero kilobits per second; sending the packets,thereby resulting in a quality of service QoS; comparing the QoS with athreshold of acceptability; and when the QoS is on an unacceptable sideof said threshold increasing the diversity rate and sending not onlyadditional ones of the packets of real-time information but also sendingdiversity packets at the diversity rate as increased.
 2. The process ofclaim 1 including generating a report of QoS at a receiver and sendingthe report of QoS to the sender.
 3. The process of claim 1 wherein thecomparing step includes comparing the QoS with a threshold ofacceptability at the sender.
 4. The process of claim 1 includinggenerating a report of QoS at a receiver, wherein the comparing stepincludes comparing the QoS with a threshold of acceptability at thereceiver.
 5. The process of claim 1 wherein the comparing step includescomparing the QoS with a threshold of acceptability at the receiver. 6.The process of claim 1 further comprising comparing the QoS with asecond threshold of acceptability; and when the QoS is on anunacceptable side of said first-named threshold and said secondthreshold, sending packets with a different combination of source rateand diversity rate than when the QoS is on an unacceptable side of saidfirst-named threshold and but not on an unacceptable side of said secondthreshold.
 7. The process of claim 1 further comprising comparing theQoS with a second threshold of acceptability; and when the QoS is on anunacceptable side of said first-named threshold and said secondthreshold, sending packets with more stages of diversity than when theQoS is on an unacceptable side of said first-named threshold and but noton an unacceptable side of said second threshold.
 8. The process ofclaim 1 further comprising comparing the QoS with a second threshold ofacceptability; and when the QoS is on an unacceptable side of saidfirst-named threshold and said second threshold, sending packets withlower overall transmission rate than when the QoS is on an unacceptableside of said first-named threshold and but not on an unacceptable sideof said second threshold.
 9. The process of claim 1 wherein the step ofsending additional packets and diversity packets includes decreasing thesource rate compared to the source rate in the initial generating step.10. The process of claim 1 wherein the step of sending additionalpackets and diversity packets includes sending the diversity packets astime-diversity packets.
 11. The process of claim 1 wherein the step ofsending additional packets and diversity packets includes sending thediversity packets as media-specific time-diversity packets.
 12. Theprocess of claim 1 wherein the step of sending additional packets anddiversity packets includes sending the diversity packets asImportant-Information-based time-diversity packets.
 13. The process ofclaim 1 wherein the step of sending additional packets and diversitypackets includes sending the diversity packets as forward errorcorrection time-diversity packets.
 14. The process of claim 1 whereinthe step of sending additional packets and diversity packets includessending the diversity packets as multiple description codingtime-diversity packets.
 15. The process of claim 1 wherein the step ofsending additional packets and diversity packets includes sending thediversity packets as multiple description data partitioningtime-diversity packets.
 16. The process of claim 1 wherein the step ofsending additional packets and diversity packets includes sending thediversity packets as path-diversity packets.
 17. The process of claim 1wherein the step of sending additional packets and diversity packetsincludes sending the diversity packets with combined time-and-pathdiversity.
 18. The process of claim 1 wherein the comparing step isexecuted at a receiver computer, and the process further comprising ofsending additional packets and diversity packets includes sending thediversity packets with combined time-and-path diversity.
 19. The processof claim 1 wherein the diversity packets include path diversity packets.20. The process of claim 1 wherein the additional packets have a secondsource rate, and the second source rate plus the diversity rate asincreased are in sum less than the source rate initially plus thediversity rate initially.
 21. The process of claim 1 further comprisingthe step of repeatedly performing the obtaining step and comparing step,and when the QoS persists on an unacceptable side of said threshold thenfurther increasing the diversity.
 22. The process of claim 1 whereinwhen the QoS persists on an unacceptable side of said threshold theninitiating second diversity packets with a second diversity rate. 23.The process of claim 1 further comprising the step of repeatedlyperforming the obtaining step and comparing step, and when the QoSpersists on an unacceptable side of said threshold then initiatingsecond diversity packets with a second diversity rate.
 24. The processof claim 1 wherein the diversity packets include time diversity packetsand further comprising the step of repeatedly performing the obtainingstep and comparing step, and when the QoS persists on an unacceptableside of said threshold then initiating second time diversity packetswith a second diversity rate.
 25. The process of claim 1 wherein thediversity packets include time diversity packets and further comprisingthe step of repeatedly performing the obtaining step and comparing step,and when the QoS persists on an unacceptable side of said threshold theninitiating path diversity packets with a second diversity rate.
 26. Theprocess of claim 1 wherein the diversity packets include path diversitypackets and further comprising the step of repeatedly performing theobtaining step and comparing step, and when the QoS persists on anunacceptable side of said threshold then initiating time diversitypackets with a second diversity rate.
 27. The process of claim 1 whereinthe diversity packets include path diversity packets and furthercomprising the step of repeatedly performing the obtaining step andcomparing step, and when the QoS persists on an unacceptable side ofsaid threshold then initiating second path diversity packets with asecond diversity rate.
 28. The process of claim 27 wherein when the QoSpersists on an unacceptable side of said threshold then also decreasingthe overall transmission rate of the packets.
 29. The process of claim 1further comprising the step of repeatedly performing the obtaining stepand comparing step, and when the QoS persists on an unacceptable side ofsaid threshold then decreasing the overall transmission rate of thepackets.
 30. The process of claim 1 wherein when the QoS returns to anacceptable side of said threshold then increasing the source rate of theadditional packets.
 31. The process of claim 1 further comprising thestep of repeatedly performing the obtaining step and comparing step, andwhen the QoS returns to an acceptable side of said threshold thenincreasing the source rate of the additional packets.
 32. The process ofclaim 1 further comprising the step of repeatedly performing theobtaining step and comparing step, and when the QoS returns to anacceptable side of said threshold then decreasing the diversity rate ofthe diversity packets.
 33. The process of claim 1 further comprising thestep of repeatedly performing the obtaining step and comparing step, andwhen the QoS returns to an acceptable side of said threshold thendecreasing the diversity rate of the diversity packets, and when the QoSremains on an acceptable side of said threshold, then further increasingthe source rate.
 34. The process of claim 1 further comprising the stepof repeatedly performing the obtaining step and comparing step, and whenthe QoS passes beyond a second threshold of more acceptability of QoSthan the first-mentioned threshold, then increasing the source rate ofthe additional packets.
 35. The process of claim 1 further comprisingthe step of repeatedly performing the obtaining step and comparing step,and when the QoS passes beyond a second threshold of more acceptabilityof QoS than the first-mentioned threshold, then increasing the sourcerate of the additional packets, and when the QoS remains on anacceptable side of said threshold, then further increasing the sourcerate.
 36. The process of claim 1 further comprising the step ofrepeatedly performing the obtaining step and comparing step, and whenthe QoS passes beyond a second threshold of more acceptability of QoSthan the first-mentioned threshold, then increasing the source rate ofthe additional packets, and when the QoS remains on an acceptable sideof said threshold, then decreasing the diversity rate of the diversitypackets.
 37. The process of claim 1 wherein when the QoS at leastreaches a second threshold of more acceptability of QoS than thefirst-mentioned threshold, then decreasing the diversity rate of thediversity packets.
 38. The process of claim 1 wherein the sending stepoperates at an old steady state overall transmission rate, and when theQoS substantially changes, selecting a new steady state overalltransmission rate from available network resources.
 39. The process ofclaim 1 further comprising replicating the sending, comparing andincreasing steps for packet broadcasting to multiple destinations.
 40. Aprocess of sending packets of real-time information comprising the stepsof: initially generating at the sender the packets of real-timeinformation with a source rate and also generating at a diversity ratediversity packets; sending the packets and diversity packets, therebyresulting in a quality of service QoS; obtaining a measure-of the QoS;comparing the QoS with a threshold of acceptability; and when the QoSreaches or exceeds the acceptable side of said threshold, thendecreasing the diversity rate.
 41. The process of claim 40 wherein thesending step has a current overall transmission rate and the processfurther comprises maintaining the overall transmission rate less than orsubstantial equally to the current overall transmission rate when thediversity rate is decreased as aforesaid.
 42. The process of claim 40wherein the diversity packets include time-diversity packets.
 43. Theprocess of claim 40 wherein the diversity packets include media-specifictime-diversity packets.
 44. The process of claim 40 wherein diversitypackets include Important-Information-based time-diversity packets. 45.The process of claim 40 wherein the diversity packets include CELP-basedImportant-Information-based time-diversity packets.
 46. The process ofclaim 40 wherein diversity packets include multiple description codingtime-diversity packets.
 47. The process of claim 40 wherein thediversity packets include multiple description data partitioningtime-diversity packets.
 48. The process of claim 40 wherein the step ofsending packets and diversity packets includes sending the diversitypackets with combined time-and-path diversity.
 49. The process of claim40 wherein the comparing step is executed at a receiver computer, andthe process further comprising of sending additional packets anddiversity packets includes sending the diversity packets with combinedtime-and-path diversity.
 50. The process of claim 40 wherein thediversity packets include path diversity packets.
 51. The process ofclaim 40 wherein when the QoS reaches or exceeds the acceptable side ofsaid threshold then also decreasing the diversity rate.
 52. The processof claim 40 wherein when the QoS reaches or exceeds the acceptable sideof said threshold then also selecting a new steady state overalltransmission rate from available network resources and increasing theoverall transmission rate if new steady state overall transmission rateis larger than the current overall transmission rate.
 53. The process ofclaim 40 wherein the initial generating step includes further initiallygenerating at the sender second diversity packets at a second diversityrate, and when the QoS reaches or exceeds the acceptable side of saidthreshold then terminating the second diversity packets.
 54. The processof claim 40 wherein the diversity packets include time diversity packetsand the initial generating step includes further initially generating atthe sender path diversity packets at a second diversity rate, and whenthe QoS reaches or exceeds the acceptable side of said threshold thenterminating the path diversity packets.
 55. The process of claim 40wherein the diversity packets include path diversity packets and theinitial generating step includes further initially generating at thesender time diversity packets at a second diversity rate, and when theQoS reaches or exceeds the acceptable side of said threshold thenterminating the time diversity packets.
 56. The process of claim 40further comprising replicating the sending, comparing and decreasingsteps for packet broadcasting to multiple destinations.
 57. A process ofsending packets of real-time information comprising the steps of:initially generating at the sender the packets of real-time informationwith a source rate and also generating at a diversity rate diversitypackets; sending the packets and diversity packets at an overalltransmission rate, thereby resulting in a quality of service QoS;obtaining a measure of the QoS; comparing the QoS with a threshold ofacceptability; and when the QoS reaches or exceeds the acceptable sideof said threshold then increasing the overall transmission rate whilesubstantially maintaining the diversity.
 58. A process of sendingpackets of real-time information comprising the steps of: initiallygenerating at the sender the packets of real-time information with asource rate and also generating at a diversity rate diversity packets;sending the packets and diversity packets with a current overalltransmission rate; obtaining a ratio of estimated steady state overalltransmission rate to current overall transmission rate; comparing theratio with a threshold of acceptability; and when the ratio is on anacceptable side of said threshold then increasing the overalltransmission rate.
 59. The process of claim 58 wherein when the ratio isnot on the acceptable side of said threshold, to increase the overalltransmission rate by an amount less than the overall transmission rateis increased when the ratio is on the acceptable side of said threshold.60. A single-chip integrated circuit comprising: a processor circuit;and a rate-and-diversity control.
 61. The single-chip integrated circuitof claim 60 wherein the rate-and-diversity control includes anadaptation state machine and an add-diversity control.
 62. Thesingle-chip integrated circuit of claim 60 further comprising a speechencoder controlled by said rate-and-diversity control.
 63. Thesingle-chip integrated circuit of claim 60 wherein said speech encoderproduces frames of encoded speech and said integrated circuit furthercomprises a packetizer responsive to the frames to output packetsincluding at least one of said frames in a packet.
 64. The single-chipintegrated circuit of claim 60 wherein said processor circuit comprisesa digital signal processor multiplier and arithmetic logic unit.
 65. Thesingle-chip integrated circuit of claim 60 further comprising anon-volatile memory storing instructions establishing saidrate-and-diversity control for execution by said processor circuit. 66.The single-chip integrated circuit of claim 60 further comprising anon-volatile memory storing instructions establishing both a speechencoder and said rate-and-diversity control for execution by saidprocessor so that said speech encoder is controlled by saidrate-and-diversity control.
 67. A single-chip integrated circuitcomprising processor circuitry and memory circuitry holding instructionsdefining sending of packets of real-time information from the integratedcircuit by initially generating at the integrated circuit the packets ofreal-time information with a source rate greater than zero kilobits persecond, and a diversity rate, the diversity rate initially being atleast zero kilobits per second; sending the packets, thereby resultingin a quality of service QoS; obtaining at the integrated circuit ameasure of the QoS and comparing the QoS with a threshold ofacceptability, and when the QoS is on an unacceptable side of saidthreshold increasing the diversity rate and sending not only additionalones of the packets of real-time information but also sending diversitypackets at the diversity rate as increased.
 68. A single-chip integratedcircuit comprising processor circuitry and memory circuitry holdinginstructions defining sending of packets of real-time information fromthe integrated circuit by initially generating packets of real-timeinformation with a source rate and also generating at a diversity ratediversity packets; sending the packets and diversity packets, therebyresulting in a quality of service QoS; obtaining at the sender a measureof the QoS; comparing the QoS with a threshold of acceptability; andwhen the QoS reaches or exceeds the acceptable side of said thresholdthen decreasing the diversity rate.
 69. A wireless telephone comprisingan antenna, a voice transducer, and at least one integrated circuitassembly coupling the voice transducer to the antenna, said at least oneintegrated circuit assembly providing voice over packet transmissionsand including a rate-and-diversity control of packets and diversitypackets.
 70. The wireless telephone of claim 69 further comprising aspeech encoder controlled by said rate-and-diversity control.
 71. Thewireless telephone of claim 70 wherein said speech encoder producesframes of encoded speech and said integrated circuit assembly furthercomprises a packetizer responsive to the frames to output packetsincluding at least one of said frames in a packet.
 72. The wirelesstelephone of claim 69 wherein said integrated circuit assembly comprisesa digital signal processor and said rate-and-diversity control comprisesa block of software instructions executable by said digital signalprocessor.
 73. The wireless telephone of claim 69 wherein saidintegrated circuit assembly comprises processor circuitry and anon-volatile memory storing instructions establishing saidrate-and-diversity control for execution by said processor circuitry.74. The wireless telephone single-chip integrated circuit of claim 69further comprising a non-volatile memory storing instructionsestablishing both a speech encoder and said rate-and-diversity controlfor execution by said processor so that said speech encoder iscontrolled by said rate-and-diversity control.
 75. A single-chipintegrated circuit comprising: a rate-and-diversity control; and a QoSdepacketizer coupled to said rate-and-diversity control.
 76. Thesingle-chip integrated circuit of claim 75 further comprising adelay-jitter handler; and a reception-QoS packetizer.
 77. Thesingle-chip integrated circuit of claim 75 further comprising adelay-jitter handler; and a lost packet compensator.
 78. A wirelesstelephone comprising an antenna, a voice transducer, and at least oneintegrated circuit assembly coupling the voice transducer to theantenna, said at least one integrated circuit assembly providing voiceover packet transmissions and-including a rate-and-diversity control ofpackets and diversity packets and a QoS depacketizer coupled to saidrate-and-diversity control.
 79. The wireless telephone of claim 78wherein the integrated circuit assembly further comprises a delay-jitterhandler and a reception-QoS packetizer fed by said delay-jitter handler.80. The wireless telephone of claim 78 wherein the integrated circuitassembly further comprises a delay-jitter handler; and a lost packetcompensator fed by said delay-jitter handler.
 81. The wireless telephoneof claim 78 wherein the integrated circuit assembly further comprises adelay-jitter handler; a reception-QoS packetizer and a lost packetcompensator wherein both the latter are coupled to said delay-jitterhandler.
 82. The wireless telephone of claim 81 wherein the integratedcircuit assembly further comprises a vocoder coupled to the voicetransducer and to said rate-and-diversity control and said lost packetcompensator.
 83. An information storage article of manufacturecomprising: a storage medium holding physical variations representingbits of information; and said bits of information comprising arate-and-diversity control.
 84. The information storage article ofmanufacture of claim 83 wherein said bits of information furthercomprise a speech encoder controllable by said rate-and-diversitycontrol.
 85. The information storage article of manufacture of claim 83wherein said bits of information further comprise instructions for adigital signal processor.
 86. The information storage article ofmanufacture of claim 83 wherein said bits of information furthercomprise instructions defining sending of packets of real-timeinformation by initially generating the packets of real-time informationwith a source rate greater than zero kilobits per second, and adiversity rate, the diversity rate initially being at least zerokilobits per second; sending the packets, thereby resulting in a qualityof service QoS; obtaining at the integrated circuit a measure of the QoSand comparing the QoS with a threshold of acceptability, and when theQoS is on an unacceptable side of said threshold increasing thediversity rate and sending not only additional ones of the packets ofreal-time information but also sending diversity packets at thediversity rate as increased.
 87. The information storage article ofmanufacture of claim 83 wherein said bits of information furthercomprise instructions defining sending of packets of real-timeinformation from the integrated circuit by initially generating packetsof real-time information with a source rate and also generating at adiversity rate diversity packets; sending the packets and diversitypackets, thereby resulting in a quality of service QoS; obtaining at thesender a measure of the QoS; comparing the QoS with a threshold ofacceptability; and when the QoS reaches or exceeds the acceptable sideof said threshold then decreasing the diversity rate.
 88. Theinformation storage article of manufacture of claim 83 wherein said bitsof information further comprise a QoS depacketizer coupled to saidrate-and-diversity control.
 89. The information storage article ofmanufacture of claim 83 wherein said bits of information furthercomprise a delay-jitter handler and a reception-QoS packetizer.
 90. Theinformation storage article of manufacture of claim 83 wherein said bitsof information further comprise a delay-jitter handler and a lost packetcompensator.
 91. The information storage article of manufacture of claim90 wherein said bits of information further comprise a vocoder coupledto said rate-and-diversity control and said lost packet compensator. 92.The information storage article of manufacture of claim 83 furthercomprising hard disk drive control circuitry assembly and said storagemedium including a rotatable hard disk controlled and read by said harddisk drive control circuitry assembly.
 93. The information storagearticle of manufacture of claim 83 wherein said storage medium includesan optically readable surface.
 94. The information storage article ofmanufacture of claim 83 wherein said storage medium includes amagnetically readable surface.
 95. The information storage article ofmanufacture of claim 83 wherein said storage medium includes anintegrated circuit memory.
 96. A media over packet networking appliancecomprising: a network interface; a voice transducer; and at least oneintegrated circuit assembly coupling the voice transducer to the networkinterface, said at least one integrated circuit assembly providing mediaover packet transmissions and including a rate-and-diversity control ofmedia packets and diversity packets.
 97. The media over packetnetworking appliance of claim 96 further comprising a speech codeccontrolled by said rate-and-diversity control.
 98. The media over packetnetworking appliance of claim 97 wherein said speech codec producesframes of encoded speech and said integrated circuit assembly furthercomprises a packetizer responsive to the frames to output packetsincluding at least one of said frames in a packet.
 99. The media overpacket networking appliance of claim 96 wherein said integrated circuitassembly comprises a digital signal processor and saidrate-and-diversity control comprises a block of software instructionsexecutable by said digital signal processor.
 100. The media over packetnetworking appliance of claim 96 wherein said integrated circuitassembly comprises processor circuitry and a non-volatile memory storinginstructions establishing said rate-and-diversity control for executionby said processor circuitry.
 101. The media over packet networkingappliance of claim 96 wherein said at least one integrated circuitassembly further includes a QoS depacketizer coupled to saidrate-and-diversity control.
 102. The media over packet networkingappliance of claim 96 wherein the integrated circuit assembly furthercomprises a delay-jitter handler and a reception-QoS packetizer fed bysaid delay-jitter handler.
 103. The media over packet networkingappliance of claim 96 wherein the integrated circuit assembly furthercomprises a delay-jitter handler; and a lost packet compensator fed bysaid delay-jitter handler.
 104. The media over packet networkingappliance of claim 96 wherein the integrated circuit assembly furthercomprises a delay-jitter handler; a reception-QoS packetizer and a lostpacket compensator wherein both the latter are coupled to saiddelayjitter handler.
 105. The media over packet networking appliance ofclaim 96 wherein the integrated circuit assembly further comprises avocoder coupled to the voice transducer and to said rate-and-diversitycontrol and said lost packet compensator.
 106. The media over packetnetworking appliance of claim 96 further comprising a mobile enclosureholding a user interface coupled to said integrated circuit assembly.107. The media over packet networking appliance of claim 96 furthercomprising a wireless interface unit coupled to said integrated circuitassembly.
 108. The media over packet networking appliance of claim 96further comprising a modem coupled to said integrated circuit assembly.109. The media over packet networking appliance of claim 96 furthercomprising a wearable mobile enclosure holding a user interface coupledto said integrated circuit assembly.
 110. The media over packetnetworking appliance of claim 96 further comprising a home applianceenclosure holding a user interface coupled to said integrated circuitassembly.
 111. The media over packet networking appliance of claim 96further comprising an automotive accessory enclosure holding a userinterface coupled to said integrated circuit assembly.
 112. The mediaover packet networking appliance of claim 96 further comprising acompressed-image packet interface coupled to said integrated circuitassembly and an image display coupled to said integrated circuitassembly.
 113. A computer comprising A network interface; an audioreception transducer; an audio emission transducer; and at least oneintegrated circuit assembly coupling the audio reception transducer andaudio emission transducer to the network interface, said at least oneintegrated circuit assembly providing audio over packet transmission andreception and including a rate-and-diversity control of audio packetsand diversity packets.
 114. The computer of claim 113 further comprisingan audio codec controlled by said rate-and-diversity control.
 115. Thecomputer of claim 113 wherein said audio codec produces and receivesframes of encoded audio and said integrated circuit assembly furthercomprises a packetizer and depacketizer responsive to the frames tooutput and receive packets including at least one frames in a packet.116. The computer of claim 113 wherein said integrated circuit assemblycomprises a digital signal processor.
 117. The computer of claim 116wherein said integrated circuit assembly further comprises anon-volatile memory storing instructions establishing saidrate-and-diversity control for execution by said digital signalprocessor.
 118. The computer of claim 113 wherein said integratedcircuit assembly further comprises processor circuitry and memorycircuitry holding instructions defining sending of packets of real-timeinformation from the computer by initially generating at the computerthe packets of real-time information with a source rate greater thanzero kilobits per second, and a diversity rate, the diversity rateinitially being at least zero kilobits per second; sending the packets,thereby resulting in a quality of service QoS; obtaining at theintegrated circuit a measure of the QoS and comparing the QoS with athreshold of acceptability, and when the QoS is on an unacceptable sideof said threshold increasing the diversity rate and sending not onlyadditional ones of the packets of real-time information but also sendingdiversity packets at the diversity rate as increased.
 119. The computerof claim 113 wherein said integrated circuit assembly further comprisesprocessor circuitry and memory circuitry holding instructions definingsending of packets of real-time information from the computer byinitially generating packets of real-time information with a source rateand also generating at a diversity rate diversity packets; sending thepackets and diversity packets, thereby resulting in a quality of serviceQoS; obtaining at the computer a measure of the QoS; comparing the QoSwith a threshold of acceptability; and when the QoS reaches or exceedsthe acceptable side of said threshold then decreasing the diversityrate.
 120. A gateway comprising a packet network interface; annon-packet network interface for real-time media on said non-packetnetwork; and at least one integrated circuit assembly coupling thenon-packet network interface to the packet network interface, said atleast one integrated circuit assembly providing media over packettransmission and reception and including a rate-and-diversity control ofmedia packets and diversity packets.
 121. A router comprising a firstpacket network port; a second packet network port for real-time media onsaid second packet network interface; and at least one integratedcircuit assembly coupling the first packet network port to said secondpacket network port, said at least one integrated circuit assemblyproviding media over packet transmission and reception and including arate-and-diversity control of media packets and diversity packets. 122.A private branch exchange comprising telephone interface circuitryhaving plural connectors ready for connection to plural telephone units;a digital network interface ready for connection to PSTN (publicswitched telephone network); and at least one integrated circuitassembly coupling the telephone interface circuitry to the digitalnetwork interface, said at least one integrated circuit assemblyproviding voice over packet transmission and reception and including arate-and-diversity control of voice packets.
 123. A wireless basestation comprising cellular telephone wireless transmit/receiveinterface circuitry for communication with any cell telephone handsetsin the vicinity of the wireless base station; a packet networkinterface; and at least one integrated circuit assembly coupling thecellular telephone wireless transmit/receive interface circuitry to thepacket network interface, said at least one integrated circuit assemblyproviding voice over packet transmission and reception and including arate-and-diversity control of voice packets.
 124. A computer add-in cardcomprising: a processor circuit; a rate-and-diversity control; a printedwiring board bearing said processor circuit and rate-and-diversitycontrol, said printed wiring board having an output connector forpassage of packets and diversity packets therethrough from saidprocessor and said printed wiring board further having an insertionconnector, whereby the printed wiring board is insertable via theinsertion connector.
 125. The computer add-in card of claim 124 furthercomprising a speech encoder controlled by said rate-and-diversitycontrol.
 126. The computer add-in card of claim 124 wherein said speechencoder produces frames of encoded speech and said integrated circuitfurther comprises a packetizer responsive to the frames to outputpackets via said output connector.
 127. The computer add-in card ofclaim 124 wherein said processor circuit comprises a digital signalprocessor multiplier and arithmetic logic unit.
 128. The computer add-incard of claim 124 further comprising a non-volatile memory storinginstructions establishing said rate-and-diversity control for executionby said processor circuit.
 129. The computer add-in card of claim 124further comprising a non-volatile memory storing instructionsestablishing both a speech encoder and said rate-and-diversity controlfor execution by said processor so that said speech encoder iscontrolled by said rate-and-diversity control.
 130. The computer add-incard of claim 124 wherein said rate-and-diversity control comprisesinstructions for said processor defining sending of packets of real-timeinformation from the add-in card by initially generating at the add-incard the packets of real-time information with a source rate greaterthan zero kilobits per second, and a diversity rate, the diversity rateinitially being at least zero kilobits per second; sending the packetsvia the output connector, thereby resulting in a quality of service QoS;obtaining at the add-in card a measure of the QoS and comparing the QoSwith a threshold of acceptability, and when the QoS is on anunacceptable side of said threshold increasing the diversity rate andsending not only additional ones of the packets of real-time informationbut also sending diversity packets at the diversity rate as increased.131. The computer add-in card of claim 124 wherein saidrate-and-diversity control comprises instructions defining sending ofpackets of real-time information from said output connector of theintegrated circuit by initially generating packets of real-timeinformation with a source rate and also generating at a diversity ratediversity packets; sending the packets and diversity packets, therebyresulting in a quality of service QoS; obtaining at the add-in card ameasure of the QoS; comparing the QoS with a threshold of acceptability;and when the QoS reaches or exceeds the acceptable side of saidthreshold then decreasing the diversity rate.
 132. A packet networkcomprising first computer and a second computer both adapted for mediaover packet, and a network of routers and transmission media couplingsaid first computer and said second computer, said packet networkfurther comprising plural rate-and-diversity controls.
 133. The packetnetwork of claim 132 wherein said network of routers and transmissionmedia includes a computer having router location information accessibleby said rate-and-diversity controls.
 134. The packet network of claim132 wherein said network of routers and transmission media includesmulticasting routers.
 135. A process of sending packets of real-timeinformation comprising the steps of: initially generating at a senderthe packets of real-time information with a source rate greater thanzero kilobits per second, and a diversity rate, the diversity rateinitially being at least zero kilobits per second; sending the packetsto a destination; obtaining plural report data on the sending to saiddestination; forming a value of a criterion based on the plural reportdata, for transition to a different source rate; and when the criterionis met, transitioning to the different source rate.
 136. The process ofclaim 135 wherein the criterion includes a spike mode determination.137. The process of claim 135 wherein the criterion includes aoccurrence of a spike OR-ed with a packet loss rate exceeding athreshold.
 138. The process of claim 135 wherein the criterion includesa delay difference exceeding a function of a delay value and adelay-jitter value.
 139. The process of claim 135 wherein the criterionincludes an average of delay difference exceeding a function of a delayvalue and a delay-jitter value.
 140. The process of claim 135 whereinthe criterion includes an average of delay difference exceeding adelay-jitter value OR-ed with an average of delay difference exceeding aconstant.
 141. The process of claim 135 wherein the criterion is acomparison of a delay-jitter value with a threshold value.
 142. Theprocess of claim 135 wherein the criterion ORs a delay-jitter valueexceeding a threshold value, with a packet loss fraction exceeding athreshold.
 143. The process of claim 135 wherein the criterion ANDs adelay-jitter value being less than a threshold value, with a packet lossfraction being less than a threshold.
 144. The process of claim 135wherein the criterion includes a trend of increase in a sequence ofdelay-jitter values.
 145. The process of claim 135 wherein the criterionincludes a trend of increase in a sequence of delay-jitter values OR-edwith a comparison of a report datum to a threshold.
 146. The process ofclaim 135 wherein the criterion includes a comparison of a ratio of athroughput estimate to current overall transmission rate with athreshold.
 147. The process of claim 135 wherein the throughput estimateincludes a function of packet size, delay, and average packet lossfraction.
 148. The process of claim 135 wherein the criterion testsreport data from plural destinations.
 149. The process of claim 135wherein the criterion tests an average of certain report data fromplural destinations.
 150. The process of claim 135 wherein the criteriontests a median of certain report data from plural destinations.
 151. Theprocess of claim 135 wherein the criterion tests a median of certainreport data from plural destinations.
 152. The process of claim 135wherein the criterion tests report data from randomly selected ones ofplural destinations.
 153. The process of claim 135 wherein the criteriontests plural report data from different times from plural destinations.154. The process of claim 135 wherein the sending operates according toa multiple-description method.
 155. The process of claim 135 wherein thediversity packets include media-specific time-diversity packets. 156.The process of claim 135 wherein the diversity packets includeImportant-Information-based time-diversity packets.
 157. The process ofclaim 135 wherein the diversity packets include forward error correctiontime-diversity packets.
 158. The process of claim 135 wherein thediversity packets include multiple description coding time-diversitypackets.
 159. The process of claim 135 wherein the diversity packetsinclude multiple description data partitioning time-diversity packets.160. The process of claim 135 wherein the diversity packets includepath-diversity packets.
 161. The process of claim 135 wherein thesending step includes sending the diversity packets with combinedtime-and-path diversity.
 162. The process of claim 135 wherein thecriterion includes first and second thresholds, and the transitioningstep further includes: when the criterion is on an unacceptable side ofthe first threshold and the second threshold, transitioning to a lowerdifferent source rate than otherwise transitioning to said first-nameddifferent source rate when the criterion is on an unacceptable side ofsaid first threshold and but not on an unacceptable side of said secondthreshold.
 163. The process of claim 135 wherein the sending stepoperates at an old steady state overall transmission rate, and when thecriterion is met, selecting a new steady state overall transmission ratefrom available network resources.
 164. The process of claim 135 whereinthe criterion includes comparing a ratio of estimated steady stateoverall transmission rate to current overall transmission rate with athreshold of acceptability; and when the ratio is on an acceptable sideof said threshold then increasing the overall transmission rate. 165.The process of claim 164 wherein when the ratio is not on the acceptableside of said threshold, then increasing the overall transmission rate byan amount less than the overall transmission rate is increased when theratio is on the acceptable side of said threshold.
 166. A process ofsending packets of real-time information comprising the steps of:initially generating at a sender the packets of real-time informationwith a packets-per-second rate greater than zero packets per second;sending the packets to a destination; obtaining a report on the sendingto said destination; forming a value of a criterion based on the report,for transition to a different packets-per-second rate; and when thecriterion is met, transitioning to the different packets-per-secondrate.
 167. The process of claim 166 wherein at least some of the packetsinclude frames whereby a number of frames per packet is established, andthe transitioning to the different packets-per-second rate includestransitioning to a different number of frames per packet.
 168. Theprocess of claim 166 wherein at least some of the packets include frameswhereby a number of frames per packet is established, and wherein thecriterion includes first and second thresholds and the transitioning tothe different packets-per-second rate includes transitioning to a firstdifferent number of frames per packet when the criterion reaches thefirst threshold, and the process further comprises transitioning to asecond different number of frames per packet when the second thresholdis reached.
 169. The process of claim 166 wherein at least some of thepackets include a header including overhead bits whereby an overhead bitrate results from a packets-per-second rate, and the transitioning tothe different packets-per-second rate includes transitioning to adifferent overhead bit rate.
 170. The process of claim 169 wherein thedifferent overhead bit rate is accomplished by changing the number ofpackets-per-second.
 171. The process of claim 166 wherein the criterionincludes first and second thresholds and the transitioning to thedifferent packets-per-second rate occurs when the criterion reaches thefirst threshold and the process further comprises transitioning to adifferent number of packets-per-second when the second threshold isreached.
 172. The process of claim 166 wherein the criterion includesfirst and second thresholds and wherein at least some of the packetsinclude a header including overhead bits whereby an overhead bit rateresults from a packets-per-second rate, and the transitioning to thedifferent packets-per-second rate includes transitioning to a firstdifferent overhead bit rate when the criterion reaches the firstthreshold and the process further comprises transitioning to a seconddifferent number of packets per second to establish a second differentoverhead bit rate when the second threshold is reached.
 173. The processof claim 166 wherein when the criterion is met, the transitioning to thedifferent packets-per-second rate includes thereupon changing the numberof packets-per-second rate during a silence period.
 174. The process ofclaim 166 wherein when the criterion is met, the transitioning to thedifferent packets-per-second rate includes thereupon increasing thenumber of packets-per-second rate during a silence period only.
 175. Theprocess of claim 166 wherein the criterion comprises a first criterionfor decrease, and when the first criterion is met, the transitioning tothe different packets-per-second rate includes decreasing thepackets-per-second rate during either a silence period or during activespeech.
 176. The process of claim 175 wherein the criterion furthercomprises a second criterion for increase, and when the second criterionis met, the transitioning to the different packets-per-second rateincludes increasing the number of packets-per-second rate during asilence period only.
 177. The process of claim 166 further comprisinggenerating second packets of real-time information with a diversityrate.
 178. The process of claim 166, further comprising, when thecriterion is met, generating diversity packets.
 179. The process ofclaim 178 wherein the diversity packets include time diversity packets.180. The process of claim 178 wherein the diversity packets include pathdiversity packets.
 181. The process of claim 178 wherein the diversitypackets include time diversity packets and path diversity packets. 182.A process of sending packets of real-time information comprising thesteps of: generating code-excited linear prediction (CELP) basedreal-time information by CELP encoding; concurrently producing ImportantInformation from the CELP encoding, thereby achieving diversity;packetizing the CELP-based real-time information and the ImportantInformation from the CELP encoding, thereby generating packets anddiversity packets.
 183. The process of claim 182 wherein the packetsinclude a primary stage plus one secondary stage, with no diversityoffset.
 184. The process of claim 182 wherein the packets include G.729encoded real time information.
 185. The process of claim 182 wherein thepackets include more than two stages.
 186. The process of claim 182wherein the packets have diversity offsets.
 187. The process of claim182 wherein the Important Information includes at least one LPC (LinearPredictive Coding) parameter.
 188. The process of claim 182 wherein theImportant Information includes at least one Longterm Prediction lag.189. The process of claim 182 wherein the Important Information includesa parity check.
 190. The process of claim 182 wherein the ImportantInformation includes a fixed codebook gain.
 191. The process of claim182 wherein the Important Information includes an adaptive codebookgain.
 192. The process of claim 182 wherein the Important Informationincludes information according to a sequence P(n)P(n−1)′ P(n+1)P(n)′P(n+2)P(n+1)′ P(n+3)P(n+2).
 193. A process of reconstruction of a packetstream having a primary stage and a secondary stage, the secondary stagehaving one or more of LPC parameters, LTP lags, parity check, andadaptive and fixed codebook gains, the packet stream having an instanceof single packet loss, and the process comprising the steps of:receiving a packet sequence represented by P(n)P(n−1)′ [Lost Packet]P(n+2)P(n+1)′ P(n+3)P(n+2)′; obtaining as information from the secondarystage one or more of said LPC parameters, LTP lags, parity check, andadaptive and fixed codebook gains; and performing an excitationreconstruction utilizing said packet sequence thus received.
 194. Theprocess of claim 193 wherein the obtaining and performing steps producethe following reconstructed sequence: P(n) [P(n+1)′|−](excitation)P(n+2) P(n+3). where “excitation” shown above refers to reconstructionof the dashed part of the packet symbol.
 195. The process of claim 193wherein the second stage has included fixed codebook pulses, and theprocess further comprises obtaining the included fixed codebook pulsesfrom the secondary stage.
 196. The process of claim 193 furthercomprising obtaining fewer than all fixed codebook pulses.
 197. Theprocess of claim 196 further comprising setting remaining fixed codebookpulses to zero.
 198. A process of reconstruction of a packet streamhaving a primary stage and a secondary stage, the secondary stage havingone or more of LPC parameters, LTP lags, parity check, and adaptive andfixed codebook gains, the packet stream having an instance of twoconsecutive packet losses, and the process comprising the steps of:receiving a packet sequence represented by P(n)P(n−1)′[Lost Packet][Second Lost Packet] P(n+3)P(n+2)′; obtaining as information from thesecondary stage one or more of said LPC parameters, LTP lags, paritycheck, and adaptive and fixed codebook gains; and performing anexcitation reconstruction, to reconstruct a packet (n+2) in a sequenceP(n) [−] [P(n+2)′|−] (excitation) P(n+3).
 199. A process ofreconstruction of a packet stream having a primary stage and a secondarystage, the secondary stage having one or more of included fixed codebookpulses, LPC parameters, LTP lags, parity check, and adaptive and fixedcodebook gains, the packet stream having an instance of two consecutivepacket losses, and the process comprising the steps of: receiving apacket sequence represented by P(n)P(n−1)′ [Lost Packet] [Second LostPacket] P(n+3)P(n+2)′; obtaining as information from the secondary stagethe included fixed codebook pulses and one or more of said LPCparameters, LTP lags, parity check, and adaptive and fixed codebookgains; and performing a reconstruction, to reconstruct a packet (n+2) ina sequence P(n) [−] reconstructed P(n+2) P(n+3).
 200. The process ofclaim 199 further comprising obtaining fewer than all fixed codebookpulses.
 201. The process of claim 200 further comprising settingremaining fixed codebook pulses to zero.
 202. A process ofreconstruction of a packet stream having a primary stage and a secondarystage, the secondary stage having one or more of LPC parameters, LTPlags, parity check, and adaptive and fixed codebook gains, the packetstream having an instance of two consecutive packet losses, and theprocess comprising the steps of: receiving a packet sequence representedby P(n)P(n−1)′ [Lost Packet] [Second Lost Packet] P(n+3)P(n+2)′;obtaining as information from the secondary stage one or more of saidLPC parameters, LTP lags, parity check, and adaptive and fixed codebookgains; and performing a reconstruction by a frame erasure concealmentprocess utilizing said packet sequence thus received to reconstruct apacket (n+1) in a sequence P(n) reconstructed packet (n+1) reconstructedpacket (n+2) P(n+3).
 203. A process of sending packets of real-timeinformation comprising the steps of: generating code-excited linearprediction (CELP) based information by CELP encoding, the CELP basedinformation including Important Information and fixed excitationinformation from the CELP encoding; packetizing the ImportantInformation with a subset of fixed excitation in a first packet; andpacketizing the Important Information with a complementary subset offixed excitation in a second packet, whereby CELP-based diversity isachieved.
 204. The process of claim 203 wherein the packets include twostages, with no diversity offset.
 205. The process of claim 203 whereinthe packets include G.729 encoded real time information.
 206. Theprocess of claim 203 wherein the packets include more than two stages.207. The process of claim 203 wherein the packets have diversityoffsets.
 208. The process of claim 203 wherein the Important Informationincludes at least one LPC (Linear Predictive Coding) parameter.
 209. Theprocess of claim 203 wherein the Important Information includes at leastone Longterm Prediction lag.
 210. The process of claim 203 wherein theImportant Information includes a parity check.
 211. The process of claim203 wherein the Important Information includes a fixed codebook gain.212. The process of claim 203 wherein the Important Information includesan adaptive codebook gain.
 213. The process of claim 203 wherein theImportant Information includes information according to a sequenceP(n)P(n−1)′ P(n+1)P(n)′ P(n+2)P(n+1)′ P(n+3)P(n+2)′.
 214. The process ofclaim 203 wherein the subset of fixed excitation includes every otherfixed codebook pulses.
 215. A process of reconstruction of a packetstream having CELP based information including Important Information andfixed excitation information from the CELP encoding, wherein theImportant Information and a subset of fixed excitation occupy a firstpacket, and the Important Information and a complementary subset offixed excitation occupy a second packet, and the process comprising thesteps of: receiving a packet sequence represented by P(n)P(n−1)′ [LostPacket] P(n+2)P(n+1)′ P(n+3)P(n+2)′; obtaining as information one ormore of said Important Information and subset of fixed excitation andcomplementary subset of the fixed excitation; and performing areconstruction of the Lost Packet utilizing said information thusobtained.
 216. The process of claim 215 wherein the performing stepproduces the following reconstructed sequence: Reconstructed:[P(n)|−](excitation) [P(n+1)′−](excitation)P(n+2)+P(n+2)′P(n+3)+P(n+3)′, where the plus (+) sign refers tocombination of information for reconstruction and where “excitation”shown above refers to reconstruction of the dashed part of the packetsymbol.
 217. The process of claim 215 wherein the subset of fixedexcitation includes every other fixed codebook pulses.
 218. The processof claim 215 further comprising obtaining fewer than all fixed codebookpulses.
 219. The process of claim 216 further comprising settingremaining fixed codebook pulses to zero.
 220. The process of claim 215wherein the first packet includes a first few fixed codebook pulses, andevery other fixed codebook pulses from the remaining pulses.
 221. Theprocess of claim 220 wherein the second packet includes the same firstfew fixed codebook pulses and the complementary subset of pulses fromthe remaining fixed codebook pulses.
 222. The process of claim 220wherein for reconstruction with single packet loss, for packet n andpacket (n+1), only one stage is used for reconstruction, and theremaining fixed codebook pulses are set to zero.
 223. A process ofreconstruction of a packet stream having CELP based informationincluding Important Information and fixed excitation information fromthe CELP encoding, wherein the Important Information and a subset offixed excitation occupy a first packet, and the Important Informationand a complementary subset of fixed excitation occupy a second packet,the packet stream having an instance of two consecutive packet losses,and the process comprising the steps of: receiving a packet sequencerepresented by P(n)P(n−1)′ [Lost Packet][Second Lost Packet]P(n+3)P(n+2)′; obtaining as information one or more of said ImportantInformation and subset of fixed excitation and complementary subset ofthe fixed excitation; and performing a frame erasure concealment processutilizing said information thus obtained to reconstruct a packet (n+1)in a sequence P(n) reconstructed packet (n+1) reconstructed packet (n+2)P(n+3).
 224. A process of sending packets of real-time informationcomprising the steps of: generating code-excited linear prediction(CELP) based information by CELP encoding utilizing a fixed codebooksearch, and minimizing [error(full rate) +w1 error(Description 1) +w2error(Description 2)] , wherein the letters “w1” and “w2” symbolizeweight coefficients, and Description 1 and Description 2 symbolize twodescriptions, the CELP based information including Important Informationand fixed excitation information from the CELP encoding; packetizing theImportant Information with a subset of fixed excitation in a firstpacket; and packetizing the Important Information with a complementarysubset of fixed excitation in a second packet, whereby CELP-baseddiversity is achieved.
 225. The process of claim 224 further comprisingexecuting an interpolation filter for shaping/filling of excitation.226. The process of claim 224 wherein Important Information includesMultiple Description quantizers used for LPC parameters, LTP lags, fixedcodebook gain and adaptive codebook gain.
 227. The process of claim 224further comprising applying Forward Error Correction to the ImportantInformation.
 228. The process of claim 224 further comprisinginterleaving combined with the diversity.
 229. The process of claim 224further comprising interpolation of parameters in addition to fixedexcitation repeating, from available (past/future) frames.
 230. Asingle-chip integrated circuit comprising: a processor circuit; and amemory on said single-chip integrated circuit holding bits defining aprocess of: initially generating packets of real-time information with asource rate greater than zero kilobits per second, and a diversity rate,the diversity rate initially being at least zero kilobits per second;forming a value of a criterion based on plural report datarepresentative of quality of transmission to a destination, fortransition to a different source rate; and when the criterion is met,transitioning to the different source rate.
 231. A single-chipintegrated circuit comprising: a processor circuit; and a memory on saidsingle-chip integrated circuit holding bits defining a process of:initially generating packets of real-time information with apackets-per-second rate greater than zero packets per second; forming avalue of a criterion based on report data representative of sending thepackets to a destination, for transition to a differentpackets-per-second rate; and when the criterion is met, transitioning tothe different packets-per-second rate.
 232. A single-chip integratedcircuit comprising: a processor circuit; and a memory on saidsingle-chip integrated circuit holding bits defining a process of:generating code-excited linear prediction (CELP) based real-timeinformation by CELP encoding; concurrently producing ImportantInformation from the CELP encoding, thereby achieving diversity;packetizing the CELP-based real-time information and the ImportantInformation from the CELP encoding, thereby generating packets anddiversity packets.
 233. A single-chip integrated circuit comprising: aprocessor circuit; and a memory on said single-chip integrated circuitholding bits defining reconstruction of a packet stream having a primarystage and a secondary stage, the secondary stage having one or more ofLPC parameters, LTP lags, parity check, and adaptive and fixed codebookgains, the packet stream having an instance of single packet loss, andthe reconstruction comprising: receiving a packet sequence representedby P(n)P(n−1)′ [Lost Packet] P(n+2)P(n+1)′ P(n+3)P(n+2)′; obtaining asinformation from the secondary stage one or more of the LPC parameters,LTP lags, parity check, and adaptive and fixed codebook gains; andperforming an excitation reconstruction utilizing said packet sequencethus received.
 234. A wireless telephone comprising an antenna, a voicetransducer, and at least one integrated circuit assembly coupling thevoice transducer to the antenna, said at least one integrated circuitassembly providing voice over packet transmissions and including bitsdefining: initially generating packets of real-time information with asource rate greater than zero kilobits per second, and a diversity rate,the diversity rate initially being at least zero kilobits per second;forming a value of a criterion based on plural report datarepresentative of quality of transmission to a destination, fortransition to a different source rate; and when the criterion is met,transitioning to the different source rate.
 235. A wireless telephonecomprising an antenna, a voice transducer, and at least one integratedcircuit assembly coupling the voice transducer to the antenna, said atleast one integrated circuit assembly providing voice over packettransmissions and including bits defining: initially generating packetsof real-time information with a packets-per-second rate greater thanzero packets per second; forming a value of a criterion based on reportdata representative of sending the packets to a destination, fortransition to a different packets-per-second rate; and when thecriterion is met, transitioning to the different packets-per-secondrate.
 236. A wireless telephone comprising an antenna, a voicetransducer, and at least one integrated circuit assembly coupling thevoice transducer to the antenna, said at least one integrated circuitassembly providing voice over packet transmissions and including bitsdefining: generating code-excited linear prediction (CELP) basedreal-time information by CELP encoding; concurrently producing ImportantInformation from the CELP encoding, thereby achieving diversity;packetizing the CELP-based real-time information and the ImportantInformation from the CELP encoding, thereby generating packets anddiversity packets.
 237. A wireless telephone comprising an antenna, avoice transducer, and at least one integrated circuit assembly couplingthe voice transducer to the antenna, said at least one integratedcircuit assembly providing voice over packet transmissions and includingbits defining: reconstruction of a packet stream having a primary stageand a secondary stage, the secondary stage having one or more of LPCparameters, LTP lags, parity check, and adaptive and fixed codebookgains, the packet stream having an instance of single packet loss, andthe reconstruction comprising: receiving a packet sequence representedby P(n)P(n−1)′ [Lost Packet] P(n+2)P(n+1)′ P(n+3)P(n+2)′; obtaining asinformation from the secondary stage one or more of the LPC parameters,LTP lags, parity check, and adaptive and fixed codebook gains; andperforming an excitation reconstruction utilizing said packet sequencethus received.
 238. An information storage article of manufacturecomprising: a storage medium holding physical variations representingbits of information; and said bits of information defining: initiallygenerating packets of real-time information with a source rate greaterthan zero kilobits per second, and a diversity rate, the diversity rateinitially being at least zero kilobits per second; forming a value of acriterion based on plural report data representative of quality oftransmission to a destination, for transition to a different sourcerate; and when the criterion is met, transitioning to the differentsource rate.
 239. An information storage article of manufacturecomprising: a storage medium holding physical variations representingbits of information; and said bits of information defining a process of:initially generating at a sender packets of real-time information with apackets-per-second rate greater than zero packets per second; forming avalue of a criterion based on report data representative of sending thepackets to a destination, for transition to a differentpackets-per-second rate; and when the criterion is met, transitioning tothe different packets-per-second rate.
 240. An information storagearticle of manufacture comprising: a storage medium holding physicalvariations representing bits of information; and said bits ofinformation defining a process of: generating code-excited linearprediction (CELP) based real-time information by CELP encoding;concurrently producing Important Information from the CELP encoding,thereby achieving diversity; packetizing the CELP-based real-timeinformation and the Important Information from the CELP encoding,thereby generating packets and diversity packets.
 241. An informationstorage article of manufacture comprising: a storage medium holdingphysical variations representing bits of information; and said bits ofinformation defining reconstruction of a packet stream having a primarystage and a secondary stage, the secondary stage having one or more ofLPC parameters, LTP lags, parity check, and adaptive and fixed codebookgains, the packet stream having an instance of single packet loss, andthe reconstruction comprising: receiving a packet sequence representedby P(n)P(n−1)′ [Lost Packet] P(n+2)P(n+1)′ P(n+3)P(n+2)′; obtaining asinformation from the secondary stage one or more of the LPC parameters,LTP lags, parity check, and adaptive and fixed codebook gains; andperforming an excitation reconstruction utilizing said packet sequencethus received.
 242. An information storage article of manufacturecomprising: a storage medium holding physical variations representingbits of information; and said bits of information definingreconstruction of a packet stream having a primary stage and a secondarystage, the secondary stage having one or more of LPC parameters, LTPlags, parity check, and adaptive and fixed codebook gains, the packetstream having an instance of two consecutive packet losses, and thereconstruction comprising: receiving a packet sequence represented byP(n)P(n−1)′ [Lost Packet] [Second Lost Packet] P(n+3)P(n+2)′; obtainingas information from the secondary stage one or more of said LPCparameters, LTP lags, parity check, and adaptive and fixed codebookgains; and performing an excitation reconstruction to reconstruct apacket (n+2) in a sequence P(n) [−][P(n+2)′|−](excitation) P(n+3). 243.An information storage article of manufacture comprising: a storagemedium holding physical variations representing bits of information; andsaid bits of information defining reconstruction of a packet streamhaving a primary stage and a secondary stage, the secondary stage havingone or more of included fixed codebook pulses, LPC parameters, LTP lags,parity check, and adaptive and fixed codebook gains, the packet streamhaving an instance of two consecutive packet losses, and thereconstruction comprising: receiving a packet sequence represented byP(n)P(n−1)′ [Lost Packet] [Second Lost Packet] P(n+3)P(n+2)′; obtainingas information from the secondary stage the included fixed codebookpulses and one or more of said LPC parameters, LTP lags, parity check,and adaptive and fixed codebook gains; and performing a reconstructionto reconstruct a packet (n+2) in a sequence P(n) [−] reconstructedP(n+2) P(n+3).
 244. An information storage article of manufacturecomprising: a storage medium holding physical variations representingbits of information; and said bits of information definingreconstruction of a packet stream having a primary stage and a secondarystage, the secondary stage having one or more of LPC parameters, LTPlags, parity check, and adaptive and fixed codebook gains, the packetstream having an instance of two consecutive packet losses, and thereconstruction comprising: receiving a packet sequence represented byP(n)P(n−1)′ [Lost Packet] [Second Lost Packet] P(n+3)P(n+2)′; obtainingas information from the secondary stage one or more of said LPCparameters, LTP lags, parity check, and adaptive and fixed codebookgains; and performing a frame erasure concealment process utilizing saidinformation thus obtained to reconstruct a packet (n+1) in a sequenceP(n) reconstructed packet (n+1) reconstructed packet (n+2) P(n+3). 245.An information storage article of manufacture comprising: a storagemedium holding physical variations representing bits of information; andsaid bits of information defining generating code-excited linearprediction (CELP) based information by CELP encoding, the CELP basedinformation including Important Information and fixed excitationinformation from the CELP encoding; packetizing the ImportantInformation with a subset of fixed excitation in a first packet; andpacketizing the Important Information with a complementary subset offixed excitation in a second packet, whereby CELP-based diversity isachieved.
 246. An information storage article of manufacture comprising:a storage medium holding physical variations representing bits ofinformation; and said bits of information defining reconstruction of apacket stream having CELP based information including ImportantInformation and fixed excitation information from the CELP encoding,wherein the Important Information and a subset of fixed excitationoccupy a first packet, and the Important Information and a complementarysubset of fixed excitation occupy a second packet, and thereconstruction comprising: receiving a packet sequence represented byP(n)P(n−1)′ [Lost Packet] P(n+2)P(n+1)′ P(n+3)P(n+2)′; obtaining asinformation one or more of said Important Information and subset offixed excitation and complementary subset of the fixed excitation; andperforming a reconstruction of the Lost Packet utilizing saidinformation thus obtained.
 247. An information storage article ofmanufacture comprising: a storage medium holding physical variationsrepresenting bits of information; and said bits of information definingreconstruction of a packet stream having CELP based informationincluding Important Information and fixed excitation information fromthe CELP encoding, wherein the Important Information and a subset offixed excitation occupy a first packet, and the Important Informationand a complementary subset of fixed excitation occupy a second packet,the packet stream having an instance of two consecutive packet losses,and the reconstruction comprising: receiving a packet sequencerepresented by P(n)P(n−1)′ [Lost Packet] [Second Lost Packet]P(n+3)P(n+2)′; obtaining as information one or more of said ImportantInformation and subset of fixed excitation and complementary subset ofthe fixed excitation; and performing a frame erasure concealment processutilizing said information thus obtained to reconstruct a packet (n+1)in a sequence ti P(n) reconstructed packet (n+1) reconstructed packet(n+2) P(n+3).
 248. An information storage article of manufacturecomprising: a storage medium holding physical variations representingbits of information; and said bits of information defining: generatingcode-excited linear prediction (CELP) based information by CELP encodingutilizing a fixed codebook search, and minimizing [error(full rate)+w1error(Description 1)+w2 error(Description 2)] , wherein the letters “w1”and “w2” symbolize weight coefficients, and Description 1 andDescription 2 symbolize two descriptions, the CELP based informationincluding Important Information and fixed excitation information fromthe CELP encoding; packetizing the Important Information with a subsetof fixed excitation in a first packet; and packetizing the ImportantInformation with a complementary subset of fixed excitation in a secondpacket, whereby CELP-based diversity is achieved.
 249. A media overpacket networking appliance comprising: a network interface; a voicetransducer; and at least one integrated circuit assembly coupling thevoice transducer to the network interface, said at least one integratedcircuit assembly providing media over packet transmissions and holdingbits defining a process of: initially generating packets of real-timeinformation with a source rate greater than zero kilobits per second,and a diversity rate, the diversity rate initially being at least zerokilobits per second; forming a value of a criterion based on pluralreport data representative of quality of transmission to a destination,for transition to a different source rate; and when the criterion ismet, transitioning to the different source rate.
 250. A media overpacket networking appliance comprising: a network interface; a voicetransducer; and at least one integrated circuit assembly coupling thevoice transducer to the network interface, said at least one integratedcircuit assembly providing media over packet transmissions and holdingbits defining a process of: initially generating packets of real-timeinformation with a packets-per-second rate greater than zero packets persecond; forming a value of a criterion based on report datarepresentative of sending the packets to a destination, for transitionto a different packets-per-second rate; and when the criterion is met,transitioning to the different packets-per-second rate.
 251. A mediaover packet networking appliance comprising: a network interface; avoice transducer; and at least one integrated circuit assembly couplingthe voice transducer to the network interface, said at least oneintegrated circuit assembly providing media over packet transmissionsand holding bits defining a process of: generating code-excited linearprediction (CELP) based real-time information by CELP encoding;concurrently producing Important Information from the CELP encoding,thereby achieving diversity; packetizing the CELP-based real-timeinformation and the Important Information from the CELP encoding,thereby generating packets and diversity packets.
 252. A media overpacket networking appliance comprising: a network interface; a voicetransducer; and at least one integrated circuit assembly coupling thevoice transducer to the network interface, said at least one integratedcircuit assembly providing media over packet transmissions and holdingbits defining reconstruction of a packet stream having a primary stageand a secondary stage, the secondary stage having one or more of LPCparameters, LTP lags, parity check, and adaptive and fixed codebookgains, the packet stream having an instance of single packet loss, andthe reconstruction comprising: receiving a packet sequence representedby P(n)P(n−1)′ [Lost Packet] P(n+2)P(n+1)′ P(n+3)P(n+2)′; obtaining asinformation from the secondary stage one or more of the LPC parameters,LTP lags, parity check, and adaptive and fixed codebook gains; andperforming an excitation reconstruction utilizing said packet sequencethus received.
 253. A computer comprising a network interface; an audioreception transducer; an audio emission transducer; and at least oneintegrated circuit assembly coupling the audio reception transducer andaudio emission transducer to the network interface, said at least oneintegrated circuit assembly providing audio over packet transmission andreception and including bits defining a process of: initially generatingpackets of real-time information with a source rate greater than zerokilobits per second, and a diversity rate, the diversity rate initiallybeing at least zero kilobits per second; forming a value of a criterionbased on plural report data representative of quality of transmission toa destination, for transition to a different source rate; and when thecriterion is met, transitioning to the different source rate.
 254. Acomputer comprising A network interface; an audio reception transducer;an audio emission transducer; and at least one integrated circuitassembly coupling the audio reception transducer and audio emissiontransducer to the network interface, said at least one integratedcircuit assembly providing audio over packet transmission and receptionand holding bits defining a process of: initially generating at a senderpackets of real-time information with a packets-per-second rate greaterthan zero packets per second; forming a value of a criterion based onreport data representative of sending the packets to a destination, fortransition to a different packets-per-second rate; and when thecriterion is met, transitioning to the different packets-per-secondrate.
 255. A computer comprising A network interface; an audio receptiontransducer; an audio emission transducer; and at least one integratedcircuit assembly coupling the audio reception transducer and audioemission transducer to the network interface, said at least oneintegrated circuit assembly providing audio over packet transmission andreception and holding bits defining a process of: generatingcode-excited linear prediction (CELP) based real-time information byCELP encoding; concurrently producing Important Information from theCELP encoding, thereby achieving diversity; packetizing the CELP-basedreal-time information and the Important Information from the CELPencoding, thereby generating packets and diversity packets.
 256. Acomputer comprising A network interface; an audio reception transducer;an audio emission transducer; and at least one integrated circuitassembly coupling the audio reception transducer and audio emissiontransducer to the network interface, said at least one integratedcircuit assembly providing audio over packet transmission and receptionand holding bits defining reconstruction of a packet stream having aprimary stage and a secondary stage, the secondary stage having one ormore of LPC parameters, LTP lags, parity check, and adaptive and fixedcodebook gains, the packet stream having an instance of single packetloss, and the reconstruction comprising: receiving a packet sequencerepresented by P(n)P(n−1)′ [Lost Packet] P(n+2)P(n+1)′ P(n+3)P(n+2)′;obtaining as information from the secondary stage one or more of the LPCparameters, LTP lags, parity check, and adaptive and fixed codebookgains; and performing an excitation reconstruction utilizing said packetsequence thus received.
 257. A gateway comprising a packet networkinterface; an non-packet network interface for real-time media on saidnon-packet network; and at least one integrated circuit assemblycoupling the non-packet network interface to the packet networkinterface, said at least one integrated circuit assembly providing mediaover packet transmission and reception and holding bits defining aprocess of: initially generating packets of real-time information with asource rate greater than zero kilobits per second, and a diversity rate,the diversity rate initially being at least zero kilobits per second;forming a value of a criterion based on plural report datarepresentative of quality of transmission to a destination, fortransition to a different source rate; and when the criterion is met,transitioning to the different source rate.
 258. A gateway comprising apacket network interface; an non-packet network interface for real-timemedia on said non-packet network; and at least one integrated circuitassembly coupling the non-packet network interface to the packet networkinterface, said at least one integrated circuit assembly providing mediaover packet transmission and holding bits defining a process of:initially generating packets of real-time information with apackets-per-second rate greater than zero packets per second; forming avalue of a criterion based on report data representative of sending thepackets to a destination, for transition to a differentpackets-per-second rate; and when the criterion is met, transitioning tothe different packets-per-second rate.
 259. A gateway comprising apacket network interface; an non-packet network interface for real-timemedia on said non-packet network; and at least one integrated circuitassembly coupling the non-packet network interface to the packet networkinterface, said at least one integrated circuit assembly providing mediaover packet transmission and reception and holding bits defining aprocess of: generating code-excited linear prediction (CELP) basedreal-time information by CELP encoding; concurrently producing ImportantInformation from the CELP encoding, thereby achieving diversity;packetizing the CELP-based real-time information and the ImportantInformation from the CELP encoding, thereby generating packets anddiversity packets.
 260. A gateway comprising a packet network interface;an non-packet network interface for real-time media on said non-packetnetwork; and at least one integrated circuit assembly coupling thenon-packet network interface to the packet network interface, said atleast one integrated circuit assembly providing media over packettransmission and reception and holding bits defining reconstruction of apacket stream having a primary stage and a secondary stage, thesecondary stage having one or more of LPC parameters, LTP lags, paritycheck, and adaptive and fixed codebook gains, the packet stream havingan instance of single packet loss, and the reconstruction comprising:receiving a packet sequence represented by P(n)P(n−1)′ [Lost Packet]P(n+2)P(n+1)′ P(n+3)P(n+2)′; obtaining as information from the secondarystage one or more of the LPC parameters, LTP lags, parity check, andadaptive and fixed codebook gains; and performing an excitationreconstruction utilizing said packet sequence thus received.
 261. Arouter comprising a first packet network port; a second packet networkport for real-time media on said second packet network interface; and atleast one integrated circuit assembly coupling the first packet networkport to said second packet network port, said at least one integratedcircuit assembly providing media over packet transmission and receptionand holding bits defining a process of: initially generating packets ofreal-time information with a source rate greater than zero kilobits persecond, and a diversity rate, the diversity rate initially being atleast zero kilobits per second; forming a value of a criterion based onplural report data representative of quality of transmission to adestination, for transition to a different source rate; and when thecriterion is met, transitioning to the different source rate.
 262. Arouter comprising a first packet network port; a second packet networkport for real-time media on said second packet network interface; and atleast one integrated circuit assembly coupling the first packet networkport to said second packet network port, said at least one integratedcircuit assembly providing media over packet transmission and receptionand holding bits defining a process of: initially generating at a senderpackets of real-time information with a packets-per-second rate greaterthan zero packets per second; forming a value of a criterion based onreport data representative of sending the packets to a destination, fortransition to a different packets-per-second rate; and when thecriterion is met, transitioning to the different packets-per-secondrate.
 263. A router comprising a first packet network port; a secondpacket network port for real-time media on said second packet networkinterface; and at least one integrated circuit assembly coupling thefirst packet network port to said second packet network port, said atleast one integrated circuit assembly providing media over packettransmission and reception and holding bits defining a process of:generating code-excited linear prediction (CELP) based real-timeinformation by CELP encoding; concurrently producing ImportantInformation from the CELP encoding, thereby achieving diversity;packetizing the CELP-based real-time information and the ImportantInformation from the CELP encoding, thereby generating packets anddiversity packets.
 264. A router comprising a first packet network port;a second packet network port for real-time media on said second packetnetwork interface; and at least one integrated circuit assembly couplingthe first packet network port to said second packet network port, saidat least one integrated circuit assembly providing media over packettransmission and reception and holding bits defining reconstruction of apacket stream having a primary stage and a secondary stage, thesecondary stage having one or more of LPC parameters, LTP lags, paritycheck, and adaptive and fixed codebook gains, the packet stream havingan instance of single packet loss, and the reconstruction comprising:receiving a packet sequence represented by P(n)P(n−1)′ [Lost Packet]P(n+2)P(n+1)′ P(n+3)P(n+2)′; obtaining as information from the secondarystage one or more of the LPC parameters, LTP lags, parity check, andadaptive and fixed codebook gains; and performing an excitationreconstruction utilizing said packet sequence thus received.
 265. Aprivate branch exchange comprising telephone interface circuitry havingplural connectors ready for connection to plural telephone units; adigital network interface ready for connection to PSTN (public switchedtelephone network); and at least one integrated circuit assemblycoupling the telephone interface circuitry to the digital networkinterface, said at least one integrated circuit assembly providing voiceover packet transmission and reception and holding bits defining aprocess of: initially generating packets of real-time information with asource rate greater than zero kilobits per second, and a diversity rate,the diversity rate initially being at least zero kilobits per second;forming a value of a criterion based on plural report datarepresentative of quality of transmission to a destination, fortransition to a different source rate; and when the criterion is met,transitioning to the different source rate.
 266. A private branchexchange comprising telephone interface circuitry having pluralconnectors ready for connection to plural telephone units; a digitalnetwork interface ready for connection to PSTN (public switchedtelephone network); and at least one integrated circuit assemblycoupling the telephone interface circuitry to the digital networkinterface, said at least one integrated circuit assembly providing voiceover packet transmission and reception and holding bits defining aprocess of: initially generating at a sender packets of real-timeinformation with a packets-per-second rate greater than zero packets persecond; forming a value of a criterion based on report datarepresentative of sending the packets to a destination, for transitionto a different packets-per-second rate; and when the criterion is met,transitioning to the different packets-per-second rate.
 267. A privatebranch exchange comprising telephone interface circuitry having pluralconnectors ready for connection to plural telephone units; a digitalnetwork interface ready for connection to PSTN (public switchedtelephone network); and at least one integrated circuit assemblycoupling the telephone interface circuitry to the digital networkinterface, said at least one integrated circuit assembly providing voiceover packet transmission and reception and holding bits defining aprocess of: generating code-excited linear prediction (CELP) basedreal-time information by CELP encoding; concurrently producing ImportantInformation from the CELP encoding, thereby achieving diversity;packetizing the CELP-based real-time information and the ImportantInformation from the CELP encoding, thereby generating packets anddiversity packets.
 268. A private branch exchange comprising telephoneinterface circuitry having plural connectors ready for connection toplural telephone units; a digital network interface ready for connectionto PSTN (public switched telephone network); and at least one integratedcircuit assembly coupling the telephone interface circuitry to thedigital network interface, said at least one integrated circuit assemblyproviding voice over packet transmission and reception and holding bitsdefining reconstruction of a packet stream having a primary stage and asecondary stage, the secondary stage having one or more of LPCparameters, LTP lags, parity check, and adaptive and fixed codebookgains, the packet stream having an instance of single packet loss, andthe reconstruction comprising: receiving a packet sequence representedby P(n)P(n−1)′ [Lost Packet] P(n+2)P(n+1)′ P(n+3)P(n+2)′; obtaining asinformation from the secondary stage one or more of the LPC parameters,LTP lags, parity check, and adaptive and fixed codebook gains; andperforming an excitation reconstruction utilizing said packet sequencethus received.
 269. A wireless base station comprising cellulartelephone wireless transmit/receive interface circuitry forcommunication with any cell telephone handsets in the vicinity of thewireless base station; a packet network interface; and at least oneintegrated circuit assembly coupling the cellular telephone wirelesstransmit/receive interface circuitry to the packet network interface,said at least one integrated circuit assembly providing voice overpacket transmission and reception and holding bits defining a processof: initially generating packets of real-time information with a sourcerate greater than zero kilobits per second, and a diversity rate, thediversity rate initially being at least zero kilobits per second;forming a value of a criterion based on plural report datarepresentative of quality of transmission to a destination, fortransition to a different source rate; and when the criterion is met,transitioning to the different source rate.
 270. A wireless base stationcomprising cellular telephone wireless transmit/receive interfacecircuitry for communication with any cell telephone handsets in thevicinity of the wireless base station; a packet network interface; andat least one integrated circuit assembly coupling the cellular telephonewireless transmit/receive interface circuitry to the packet networkinterface, said at least one integrated circuit assembly providing voiceover packet transmission and reception and holding bits defining aprocess of: initially generating at a sender packets of real-timeinformation with a packets-per-second rate greater than zero packets persecond; forming a value of a criterion based on report datarepresentative of sending the packets to a destination, for transitionto a different packets-per-second rate; and when the criterion is met,transitioning to the different packets-per-second rate.
 271. A wirelessbase station comprising cellular telephone wireless transmit/receiveinterface circuitry for communication with any cell telephone handsetsin the vicinity of the wireless base station; a packet networkinterface; and at least one integrated circuit assembly coupling thecellular telephone wireless transmit/receive interface circuitry to thepacket network interface, said at least one integrated circuit assemblyproviding voice over packet transmission and reception and holding bitsdefining a process of generating code-excited linear prediction (CELP)based real-time information by CELP encoding; concurrently producingImportant Information from the CELP encoding, thereby achievingdiversity; packetizing the CELP-based real-time information and theImportant Information from the CELP encoding, thereby generating packetsand diversity packets.
 272. A wireless base station comprising cellulartelephone wireless transmit/receive interface circuitry forcommunication with any cell telephone handsets in the vicinity of thewireless base station; a packet network interface; and at least oneintegrated circuit assembly coupling the cellular telephone wirelesstransmit/receive interface circuitry to the packet network interface,said at least one integrated circuit assembly providing voice overpacket transmission and reception and holding bits definingreconstruction of a packet stream having a primary stage and a secondarystage, the secondary stage having one or more of LPC parameters, LTPlags, parity check, and adaptive and fixed codebook gains, the packetstream having an instance of single packet loss, and the reconstructioncomprising: receiving a packet sequence represented by P(n)P(n−1)′ [LostPacket] P(n+2)P(n+1)′ P(n+3)P(n+2)′;obtaining as information from thesecondary stage one or more of the LPC parameters, LTP lags, paritycheck, and adaptive and fixed codebook gains; and performing anexcitation reconstruction utilizing said packet sequence thus received.273. A computer add-in card comprising: a processor circuit and amemory; a printed wiring board bearing said processor circuit and thememory, the memory holding bits defining: initially generating packetsof real-time information with a source rate greater than zero kilobitsper second, and a diversity rate, the diversity rate initially being atleast zero kilobits per second; forming a value of a criterion based onplural report data representative of quality of transmission to adestination, for transition to a different source rate; and when thecriterion is met, transitioning to the different source rate; saidprinted wiring board having an output connector for passage of packetsand diversity packets therethrough from said processor, and said printedwiring board further having an insertion connector, whereby the printedwiring board is insertable via the insertion connector.
 274. A computeradd-in card comprising: a processor circuit and a memory; a printedwiring board bearing said processor circuit and the memory, the memoryholding bits defining: initially generating at a sender packets ofreal-time information with a packets-per-second rate greater than zeropackets per second; forming a value of a criterion based on report datarepresentative of sending the packets to a destination, for transitionto a different packets-per-second rate; and when the criterion is met,transitioning to the different packets-per-second rate; said printedwiring board having an output connector for passage of packets anddiversity packets therethrough from said processor, and said printedwiring board further having an insertion connector, whereby the printedwiring board is insertable via the insertion connector.
 275. A computeradd-in card comprising: a processor circuit and a memory; a printedwiring board bearing said processor circuit and the memory, the memoryholding bits defining: generating code-excited linear prediction (CELP)based real-time information by CELP encoding; concurrently producingImportant Information from the CELP encoding, thereby achievingdiversity; and packetizing the CELP-based real-time information and theImportant Information from the CELP encoding, thereby generating packetsand diversity packets; said printed wiring board having an outputconnector for passage of packets and diversity packets therethrough fromsaid processor, and said printed wiring board further having aninsertion connector, whereby the printed wiring board is insertable viathe insertion connector.
 276. A computer add-in card comprising: aprocessor circuit and a memory; a printed wiring board bearing saidprocessor circuit and the memory, the memory holding bits defining:reconstruction of a packet stream having a primary stage and a secondarystage, the secondary stage having one or more of LPC parameters, LTPlags, parity check, and adaptive and fixed codebook gains, the packetstream having an instance of single packet loss, and the reconstructioncomprising: receiving a packet sequence represented by P(n)P(n−1)′ [LostPacket] P(n+2)P(n+1)′ P(n+3)P(n+2)′; obtaining as information from thesecondary stage one or more of the LPC parameters, LTP lags, paritycheck, and adaptive and fixed codebook gains; and performing anexcitation reconstruction utilizing said packet sequence thus received;said printed wiring board having an output connector for passage ofpackets and diversity packets therethrough from said processor, and saidprinted wiring board further having an insertion connector, whereby theprinted wiring board is insertable via the insertion connector.
 277. Apacket network comprising first computer and a second computer bothadapted for media over packet, and a network of routers and transmissionmedia coupling said first computer and said second computer, said packetnetwork supporting operations therein of: initially generating packetsof real-time information with a source rate greater than zero kilobitsper second, and a diversity rate, the diversity rate initially being atleast zero kilobits per second; forming a value of a criterion based onplural report data representative of quality of transmission to adestination, for transition to a different source rate; and when thecriterion is met, transitioning to the different source rate.
 278. Apacket network comprising first computer and a second computer bothadapted for media over packet, and a network of routers and transmissionmedia coupling said first computer and said second computer, said packetnetwork supporting operations therein of: initially generating at asender packets of real-time information with a packets-per-second rategreater than zero packets per second; forming a value of a criterionbased on report data representative of sending the packets to adestination, for transition to a different packets-per-second rate; andwhen the criterion is met, transitioning to the differentpackets-per-second rate.
 279. A packet network comprising first computerand a second computer both adapted for media over packet, and a networkof routers and transmission media coupling said first computer and saidsecond computer, said packet network supporting operations therein of:generating code-excited linear prediction (CELP) based real-timeinformation by CELP encoding; concurrently producing ImportantInformation from the CELP encoding, thereby achieving diversity;packetizing the CELP-based real-time information and the ImportantInformation from the CELP encoding, thereby generating packets anddiversity packets.
 280. A packet network comprising first computer and asecond computer both adapted for media over packet, and a network ofrouters and transmission media coupling said first computer and saidsecond computer, said packet network supporting operations therein ofreconstruction of a packet stream having a primary stage and a secondarystage, the secondary stage having one or more of LPC parameters, LTPlags, parity check, and adaptive and fixed codebook gains, the packetstream having an instance of single packet loss, and the reconstructioncomprising: receiving a packet sequence represented by P(n)P(n−1)′ [LostPacket] P(n+2)P(n+1)′ P(n+3)P(n+2)′; obtaining as information from thesecondary stage one or more of the LPC parameters, LTP lags, paritycheck, and adaptive and fixed codebook gains; and performing anexcitation reconstruction utilizing said packet sequence thus received.